Поиск:

Ответ в темуСоздание новой темы Создание опроса
> anchors к компоненте 
:(
    Опции темы
s_a_s_h_a
Дата 28.11.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 20.7.2004
Где: Петрозаводск

Репутация: 1
Всего: 1



Вопрос заключается в том чтобы сделать "резиновое" приложение. Причем некоторые компоненты должны оставаться исходного размера, а другие увеличиваться/уменьшаться, а шрифты оставаться без изменений (наверное)). Анкоры только к углам формы не вариант, т.к. компоненты будут друг на друга наезжать. Попробовал ScaleBy и ужаснулся (может, конечно, неправильно использовал). И вопрос в следующем... 
1. может можно указывать анкоры не к углам формы, а относительно других компонент на форме?
2. может есть какие-нибудь сторонние компоненты, которые действуют как распорки (как в qt)? 
3. другие идеи?
PM MAIL   Вверх
KTatsu
Дата 30.11.2008, 02:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 23.8.2008
Где: Москва

Репутация: 1
Всего: 1



Может что-нибудь такого вида?
Код

void __fastcall TForm1::FormCanResize(TObject *Sender, int &NewWidth,
      int &NewHeight, bool &Resize)
{
Button1->Width=Form1->Width/100*20;
Button2->Left=Button1->Width;
Button2->Width=Form1->Width/100*20;
}
Т.е. ширина кнопок в % от ширины формы.
PM MAIL   Вверх
s_a_s_h_a
Дата 19.12.2008, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 20.7.2004
Где: Петрозаводск

Репутация: 1
Всего: 1



Ширина шириной, а как быть с расположением этих кнопок и других компонент на форме, чтобы они не наезжали друг на друга? Причем, если часть элементов должна остаться неизменной, другая часть только по горизонтали увеличиться должна, а третья и по горизонтали и по вертикали, а расстояния между элементами должно остаться без изменений.

Программеры, которые писали на билдере резиновые приложения, откликнетесь пожалуйста, поделитесь опытом.
PM MAIL   Вверх
mrbrooks
Дата 19.12.2008, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



s_a_s_h_a, для Label измени цвет, все элементы свойства Anchors поставь в true, AutoSize = false
Ты увидешь что метка будет менять свои размеры в зависимости от размеров формы. Далее уже меняешь привязки по надобности.
PM MAIL   Вверх
xvr
Дата 19.12.2008, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(s_a_s_h_a @ 19.12.2008,  00:04)
Ширина шириной, а как быть с расположением этих кнопок и других компонент на форме, чтобы они не наезжали друг на друга? Причем, если часть элементов должна остаться неизменной, другая часть только по горизонтали увеличиться должна, а третья и по горизонтали и по вертикали, а расстояния между элементами должно остаться без изменений.

Программеры, которые писали на билдере резиновые приложения, откликнетесь пожалуйста, поделитесь опытом.

Делал (под BCB 3.0) специальную панель. Компонент увы очень сырой, к тому же не очень портируемый под другие версии (пробовал BCB 6.0, получилось, но с глюками, результат неработоспособный, увы  smile )
 
PM MAIL   Вверх
s_a_s_h_a
Дата 23.12.2008, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 20.7.2004
Где: Петрозаводск

Репутация: 1
Всего: 1



в 6-м билдере искал не нашел ничего подходящего из стандартных компонент для решения данной задачи, решил поискать в 2006-м. И нашел GridPanel, в принципе, используя комбинацию из нескольких таких компонент можно сделать то что мне нужно, НО...

Кидаю на форму GridPanel, задаю количество строк и столбцов, некоторые строки и столбцы фиксирую по ширине и высоте, другим выставляю размеры в процентном соотношении. Кидаю в ячейки GridPanelи компоненты Panel, а на них всякие кнопочки, таблицы и т.п. для приятности восприятия smile. У компонент Panel выставляю все анкоры в true, а AutoSize в false. Компилю, собираю, запускаю, тяну и... форма и сама GridPanel тянется, а вот панели внутри нее не хотят :(

Загуглил и в яндексе поискал, инфы на русском мало по данной компоненте :(
PM MAIL   Вверх
s_a_s_h_a
Дата 23.12.2008, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 261
Регистрация: 20.7.2004
Где: Петрозаводск

Репутация: 1
Всего: 1



в общем, методом научного тыка определил, что анкоры ни на что не влияют в данном случае, а нужно установить свойство Align в alClient у Панели, находящейся в ячейке GridPanel. Для меня тема закрыта, буду юзать GridPanel, хотя... может есть и лучшие идеи...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.