Вниз
Скачать: CL | DM;

Как запустить процесс после закрытия формы?   Найти похожие ветки 

← →
AM   (2003-01-14 17:27) [0]

Всем привет!
Вот Есть у меня Главная родительская форма - fsMDIForm.
Как мне сделать, чтобы после закрытия всех его fsMDIChild запускалась процедурка. Только OnClose на дите не подходит так как надо запустить процедурку не перед закрытием а после.
Как это можно сделать?


← →
Skier ©   (2003-01-14 17:36) [1]

>AM
на OnClose
begin
if Последняя then begin
//Посылаем сообщение главной форме о запуске "процедурки"
PostMessage(MainForm.Handle, UM_EXEC_PROC, 0, 0);
end; //if
//.............
end;


← →
AM   (2003-01-14 17:58) [2]

А если не сложно вот есть у меня описанная в Unit-е главной формы процедура ClearAll();
Как тогда будет выглядеть процедура PostMessage(MainForm.Handle, UM_EXEC_PROC, 0, 0)?


← →
Skier ©   (2003-01-14 18:02) [3]

>AM
В главной форме ты должен написать
обработчик сообщения UM_EXEC_PROC.
Примерно так :

uses Messages;

const
UM_EXEC_PROC = WM_USER + 1;
//......................

TMainForm = clas(...)
private
procedure UMExecProc(var Message : TMessage); message UM_EXEC_PROC;
//..............
end; //TMainForm

//......................

procedure TForm1.UMExecProc(var Message: TMessage);
begin
//............
ClearAll;
//............
end;


← →
Skier ©   (2003-01-14 18:04) [4]

процедура PostMessage будет выглядеть так же :
PostMessage(MainForm.Handle, UM_EXEC_PROC, 0, 0)


← →
AM   (2003-01-14 18:09) [5]


Спасибо большое, Skier ©!!!



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.016 c
1-72211
diks
2003-01-14 12:18
2003.01.23
Кнопочки


1-72319
Gumbert-Gumbert
2003-01-15 15:58
2003.01.23
Как с помощью директив компилятора определить, что стоит WinXP?


1-72283
shu_3d
2003-01-14 15:31
2003.01.23
Работа с Canvas


3-72120
Sirus
2002-12-31 07:19
2003.01.23
Как программно переименовать алиас BDE???


4-72596
krotik
2002-12-09 19:22
2003.01.23
Закрыть окно на чужой машине




   Наверх