![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| AlekXL |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 2.5.2008 Репутация: нет Всего: 0 |
Нужен совет специалиста по VCL/WinApi
Итак, есть главная форма, которая вызывает другую форму в виде модального окна. После закрытия модального , основное остается неактивым( не принимает ввод с мыши, клики, главное меню выглядит серым). Подробнее. Среда Turbo Delphi, Tnt Unicode, все окна юникодные. Окно настроек (то самое модальное) создается динамически при первом обращении, и при вызове перекрытого метода ShowModal инстанциирует один или несколько TntFrames, после чего вызывает унаследованную реализацию. Все работает, если на указанных фреймах нет комбобокса со стилем csDropDown , а вот если есть, и в него были ввод, то при закрытии модального окна -- главное окно остается как бы недоступным для ввода. События типа WM_MOUSEMOVE отрабатываются, даже работают глобальные клавиатурные шорткаты, но вот фокус контролы получить не могут, не вопринимают ввод и клики. Расследование показывает, что при этом свойство Enabled главной формы true, Windows.EnalbleWindow(true) не дает эффекта. WM_ENABLE для главного отрабатывается (при открытии и закрытии модального окна, как положено). Проблема может быть замаскирована, если разрушить экземпляр Combobox (просто DestroyHandle не помогает), либо фрейм. Но мне такое не нравится. Я понимаю, что вряд ли у кого-либо есть готовое решение, но я хотел бы знать , как вообще в VCL/Windows реализуется модальность (чтобы знать , где ставить бряки). Прежде чем вы что-то напишете, прочитайте первую фразу поста еще раз |
|||
|
||||
![]()
|
| Правила форума "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. |