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

Вниз

как сделать события типа: OnChildFormCreate и OnChildFormDestroy?   Найти похожие ветки 

 
kivadim   (2006-12-07 17:21) [0]

если у главной формы программы FormStyle := fsMDIForm, то можно ли для этой формы создать событие при котором оно происходило когда создаются или уничтожаются дочерние формы?
мне нужно чтоб главная форма реагировала и на дочерние формы не моего производства, например на окна отчетов FastReport, когда они отображаются в режиме MDIChild

с сообщениями почти не имел дело. попробовал сдетать так но не помогло... что не правильно делаю?

type
 TfMain = class(TForm)
 protected
  ...
 private
  ...
 public
    procedure MDICreate(var msg: TWMMDICREATE); message WM_MDICREATE;
    procedure MDIDestroy(var msg: TWMMDIDESTROY); message WM_MDIDESTROY;
 end;
....
procedure TfMain.MDICreate(var msg: TWMMDICREATE);
begin
MessageBox(Handle,"WM_MDICREATE","",MB_OK);
end;

procedure TfMain.MDIDestroy(var msg: TWMMDIDESTROY);
begin
MessageBox(Handle,"WM_MDIDESTROY","",MB_OK);
end;


 
Игорь Шевченко ©   (2006-12-07 17:42) [1]

Сообщения надо обрабатывать не у формы, а у окна, handle которого в TForm.ClientHandle


 
kivadim   (2006-12-08 10:27) [2]

почитал что можно перехватывать эти сообщения можно...

Родительская MDI-форма создаёт специфическое окно класса MDICLIENT (дескриптор этого окна хранится в свойстве ClientHandle). И WM_MDICreate посылается именно этому клиентскому окну, а не самой форме. Перехватить это сообщение можно, например, через Application.OnMessage - так перехватываются всё сообщения, кроме WM_Quit.

никто не подскажет как именно это реализовать, а то я не догоняю?



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

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

Наверх




Память: 0.47 MB
Время: 0.049 c
1-1163268032
Redline
2006-11-11 21:00
2006.12.24
Нажатие клавиши через SendMessage


15-1164947913
Slider007
2006-12-01 07:38
2006.12.24
С днем рождения ! 1 декабря


1-1163162706
allrussia
2006-11-10 15:45
2006.12.24
Не могу заставить работать 2 компонента одновременно


15-1165289938
Slider007
2006-12-05 06:38
2006.12.24
С днем рождения ! 5 декабря


15-1165168673
Горгер
2006-12-03 20:57
2006.12.24
Получить адрес в ассемблерной вставке