Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запрещение получение фокуса своему приложению


SkiF ©   (2003-07-21 00:48:00) 

Требуется запретить своему приложению получать фокус при клике мыши в клиентской области главного окна.
Обработав сообщение WM_MOUSEACTIVATE и вернув результат MA_NOACTIVATE добился неактивности окошка, но приложение имевшее фокус все равно его теряет. Чувствую, что сообщение WM_MOUSEACTIVATE не единственное которое следует обработать, попытки обработки других сообщений (WM_SETCURSOR, WM_SETFOCUS, WM_KILLFOCUS, WM_ACTIVATE, WM_APPACTIVATE) эффекта не имели.
Господа, подскажите пожалуйста какое сообщение необходимо обработать и как, что бы добиться желаемого результата.
Возможно, я копаю не в том направлении?


SkiF   (2003-07-21 11:18:00) [1]

Rouse_, Marser : Спасибо за помощь, только не прокатило :-(
После обработки WM_MOUSEACTIVATE до WM_ACTIVATE дело просто не
доходит.
Проблема решилась гораздо проще, как оказалась достаточно было
добавить в параметры окна WS_EX_NOACTIVATE и все заработало!


Marser   (2003-07-21 01:16:00) [2]

WM_ACTIVATE+EnableWindow


Rouse_   (2003-07-21 01:11:00) [3]

При сообшении WM_ACTIVATE приложение еще не становится активным, соответственно GetForegroundWindow ....

Желаю успехов


Наверх

Титульная страница Поиск, карта сайта Написать письмо