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

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

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 ?


Наверх

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