Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Вниз

Работа с вложенными контролами в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.041 c
3-1123398152
Киря
2005-08-07 11:02
2005.09.25
DBLookUpComboboxEh с двумя ключевыми полями


14-1125176295
default
2005-08-28 00:58
2005.09.25
Восстановление прежнего варианта файла


14-1123747180
Kerk
2005-08-11 11:59
2005.09.25
Moscow Mastak Party Special Edition


14-1125085422
Piter
2005-08-26 23:43
2005.09.25
ЦСКА - ЛИВЕРПУЛЬ


14-1125169371
Lamer@fools.ua
2005-08-27 23:02
2005.09.25
Угадай мелодию





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский