![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| bassbuster |
|
|||
|
Unregistered |
проблема следующего содержания: есть CustomControl, он появляется POPUp (типа лист в комбобоксе), так вот нужно скрывать это окошко если узер вдруг вздумает подвинуть форму. Ловить событие ACTIVATE не представляется возможным, потому, что фокус остается на родительской форме, и на контрол он попадать и не должен. Примерно понятно, что контрол должен стать модальным, но как CustomControl показать модально - ума неприложу...
Подскажите плиз, может кто знает как это сделать, буду очень признателен |
|||
|
||||
| bassbuster |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 24.2.2004 Репутация: нет Всего: нет |
вобчем-то все аказалось несложно, жаль тока никто не смог помочь...
Ну если у кого нить возникнет вопрос, то - спроси меня как. |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Ну запостите код...
-------------------- |
|||
|
||||
| bassbuster |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 24.2.2004 Репутация: нет Всего: нет |
Ну, все по порядку:
для начала как сделать, чтоб CustomControl стал popup, нужно переопределить метод CreateParam
тем самым убираем из стиля создания Child и ставим Popup после этого значения Top и Left нужно задавать уже в Screen координатах потом, если нам надо чтобы наш контрол показывался модально, т.е. как popup менюшка нужно создать специальный метод, который нужно использовать вместо MyControl.Visible := True; итак:
в этом цикле можно проверять любой параметр, необязательно видимость, главное, иметь возможность сменить его когда контрол должен пропасть с экрана дальше остается только сделать чтото типа Visible := False; в обработчике сообщения WM_LMBUTTONDOWN что интересно - в этом способе ненужно передавать фокус в наш компанент, так, что оснавная форма не не теряет активности (как сделать, чтоб фокус не передавался после клика по котролу мышью, надеюсь сами догадаетесь). и все, элементарно и действенно, правда это всего лишь основа, под свой конкретный случай скорее всего нужно будет сделать еще кое что... |
||||
|
|||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Спасибо.
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |