![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WM_ACTIVE и дочерние окна MDI приложения [D5, Win2k]
mRodion © (2004-04-26 12:06:00)Добрый день, господа.
Хотелось бы отлавливать моменты активизации и потери фокуса дочерних окон в MDI приложении. Причем интересует, каким именно образом окно стало активным: по клику мышки или другими способами.
Хотелось обрабатывать сообщение WM_ACTIVE так, как описано в здешнем FAQ, но выяснил, что этот метод, похоже, не работает с дочерними окнами MDI-приложения.
Что можете посоветовать?
PS Использовал следующий код:
Type
TMain = class(TForm)
....
protected Procedure LastFocus(var Mess : TMessage) ; message WM_ACTIVATE;
End;
//--------------------------------------------------------------Procedure TMain.LastFocus(var Mess : TMessage) ;
Begin
IF Mess.wParam = WA_INACTIVE Then
PanelCaption.Color:=clInactiveCaption
Else PanelCaption.Color:=clActiveCaption;
Inherited;
End;
oleg_art (2004-04-26 15:22:00) [1]WM_SETFOCUS - на дочерней. На родительской - WM_MDIACTIVATE
mRodion (2004-04-26 12:47:00) [2]Значит отследить активацию окна с помощью мышки никак?
Игорь Шевченко (2004-04-26 12:30:00) [3]WM_MDIACTIVATE ?