![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрещение получение фокуса своему приложению
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 ....
Желаю успехов