Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.04;
Скачать: CL | DM;

Вниз

Как отловить события создания, удаления, активации MDI-child форм   Найти похожие ветки 

 
Dens   (2003-10-09 13:31) [0]

Мастера, помогите.

Как можно в MainForm отловить события создания, удаления MDI-child окон и смены активного MDI-child окна?
Пробовал обрабатывать сообщения WM_MDIActivate, WM_MDICreate и WM_MDIDestroy. Но в главную форму эти сообщения не попадают. В хелпе вычитал, что эти сообщения передаются в MDI-child формы и в ClientWindow.
А мне бы желательно именно в MainForm. Но если есть какой-либо другой способ, то буду рад и такой ответ.


 
Е-Моё имя ©   (2003-10-09 14:25) [1]

оконная процедура окна MainForm.ClientHandle получает эти сообщения
там и обрабатывай


 
Dens   (2003-10-09 14:29) [2]

2 Е-Моё имя

А можно небольшой примерчик?


 
Е-Моё имя ©   (2003-10-09 14:30) [3]

нет


 
Dens   (2003-10-09 14:37) [4]

2 Е-Моё имя

Если пример не можешь, может объяснишь как этой оконной процедурой пользоваться?


 
Е-Моё имя ©   (2003-10-09 14:41) [5]

берешь оконную процедуру указанного окна, запоминаешь ейный адрес
пишешь свою процедуру, подставляешь ее как новую ок.проц. того окна
сообщения падают в твою процедуру
там ты обрабатываешь нужные и отдаешь управление "родной" запомненной процедуре


 
Dens   (2003-10-09 14:46) [6]

2 Е-Моё имя

А как через MainForm.ClientHandle получить адрес процедуры?
Или сначала нужно из ClientHandle получить окно?


 
Е-Моё имя ©   (2003-10-09 14:49) [7]

GetWindowLong(MainForm.ClientHandle,GWL_WNDPROC)
дальше сам


 
Dens   (2003-10-09 14:50) [8]

Спасибо, понял.

Ветка закрыта.



Страницы: 1 вся ветка

Текущий архив: 2003.12.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.005 c
4-11723
A_BOS_A
2003-10-09 04:54
2003.12.04
Если текст в к.-н. окне можно выделить, то....


4-11712
SergeySEM
2003-10-10 12:59
2003.12.04
вылов клавиш


4-11742
bkv
2003-10-03 17:00
2003.12.04
ShellExecute при печати


6-11650
Alexx_AI
2003-10-10 16:34
2003.12.04
Программно в сеть W2000 XP


8-11637
Bond 007
2003-08-04 11:37
2003.12.04
как цифровой сигнал просмотреть с помощью MMTOOLS