Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.25;
Скачать: CL | DM;

Вниз

Работа с вложенными контролами в design-time   Найти похожие ветки 

 
Kerim   (2004-11-16 10:35) [0]

Суть вопроса следующая. Компонент владеет несколькими контролами, в т.ч. TEdit и TDBLookupComboBox, расположенными в строку. Хотелось бы сделать возможность перемещения границы между ними в design-time (как с колонками гридов).

Достаточно указать направление поиска - насколько я понимаю, нужно перекрыть обработку каких-то сообщений. Буду признателен примерам кода.


 
Юрий Зотов ©   (2004-11-16 14:16) [1]

Для D6 и старше можно просто указать csSubComponent в ComponentState встроенных компонентов и вынести эти компоненты, как published-свойства. Тогда их можно будет править прямо в Object Inspector.

Еще способ - выполнить компонент в виде фрейма. Тогда его дочерние контролы будут полностью доступны в design-time.

Если такие способы не годятся, то компонент-контейнер должен содержать published-свойства а-ля Control1Width, Control2Width и т. д. В методах Set для этих свойств устанавливаются нужные размеры и позиции дочерних контролов.

Еще способ (может сочетаться с предыдущими) - компонент несет панель нужной высоты с Align=alTop (либо сам является панелью), а остальные контролы лежат на этой панели и имеют Align=alLeft. Если теперь разделить их сплиттерами, то настройку границ сможет делать и юзер.


 
Kerim   (2004-11-16 15:50) [2]

Еще способ (может сочетаться с предыдущими) - компонент несет панель нужной высоты с Align=alTop (либо сам является панелью), а остальные контролы лежат на этой панели и имеют Align=alLeft. Если теперь разделить их сплиттерами, то настройку границ сможет делать и юзер.

Спасибо, проблема была немного в другом - сплиттерам owner"а application нужно задавать. Уже на другом форуме ответили. Прошу прощения, но по поводу 1-х двух советов - я в курсе, но спрашивал несколько о другом.


 
Юрий Зотов ©   (2004-11-16 19:20) [3]

> Kerim   (16.11.04 15:50) [2]
> сплиттерам owner"а application нужно задавать

???????????


 
kerim   (2004-11-17 08:13) [4]

Что непонятного? Вопрос был по поводу возможности в design-time на форме манипулировать положением дочерних компонент. Если просто разделить сплиттерами, в design-time они работать не будут, для этого им в конструктор в качестве владельца нужно передавать Application. Собственно это и есть ответ на мой вопрос.



Страницы: 1 вся ветка

Текущий архив: 2005.09.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
6-1117604167
CSTR
2005-06-01 09:36
2005.09.25
Проблема с сокетами


3-1123741847
DelphiN!
2005-08-11 10:30
2005.09.25
Реально ли удаляються данные из таблиц FB


3-1123833274
kyn66
2005-08-12 11:54
2005.09.25
Отследить отрицательные значения в гриде.


1-1125586034
RzCoDer
2005-09-01 18:47
2005.09.25
NT сервисы


11-1106738887
thaddy
2005-01-26 14:28
2005.09.25
ann:JCL Winapi32 for kol