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

Закрытие приложения   Найти похожие ветки 

 
webpauk ©   (2007-11-28 15:04) [0]

Подскажите какое сообщение обрабатывать, если программа закрывается из панели задач.
WM_SYSCOMMAND не реагирует...


 
Юрий Зотов ©   (2007-11-28 15:10) [1]

Видимо, все же WM_SYSCOMMAND, но для Application, а не для формы.
См. Application.OnMessage

Но проще - обработать OnClose(Query) главной формы.


 
webpauk ©   (2007-11-28 15:18) [2]


procedure TFormMain.FormCreate(Sender: TObject);
begin
 Application.OnMessage:=AppMessage;
end;

procedure TFormMain.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
 if Msg.message = WM_SYSCOMMAND then
 begin
   if Msg.wParam=sc_close then exit
   else inherited;
 end;
end;


сообщение обрабатывается...
только форма усё-равно закрываетца...


 
webpauk ©   (2007-11-28 15:19) [3]

 if Msg.message = WM_SYSCOMMAND then
 begin
   if Msg.wParam=sc_close then abort;
   inherited;
 end;


во!
так работает!!!


 
clickmaker ©   (2007-11-28 15:21) [4]


> webpauk ©   (28.11.07 15:19)

Msg.Result := 1;


 
KSergey ©   (2007-11-28 16:52) [5]

> webpauk ©   (28.11.07 15:19) [3]

жестоко...

Вообще-то справка есть, вот и clickmaker выжимку оттуда приводит.


 
Igor Zorkov ©   (2007-11-28 19:03) [6]

var
 Form1: TForm1;
 MayClose: boolean = false;

implementation

{$R *.dfm}

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 if MayClose = false then
 begin
   CanClose:= false;
 end else
   CanClose:= true;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 MayClose:= true;
 Close;
end;


 
Leonid Troyanovsky ©   (2007-11-28 20:27) [7]


> Igor Zorkov ©   (28.11.07 19:03) [6]

> var
>  Form1: TForm1;
>  MayClose: boolean = false;

Glob var - MD.


>  if MayClose = false then
>  begin
>    CanClose:= false;
>  end else
>    CanClose:= true

CanClose := MayClose

--
Regards, LVT.



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

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



Память: 0.46 MB
Время: 0.012 c
4-1179815919
Magedon
2007-05-22 10:38
2007.12.23
Send To i n Vista


15-1196026503
Tos-ka
2007-11-26 00:35
2007.12.23
Подскажите условиями входит точка в тело или нет.


6-1176119066
Мистик
2007-04-09 15:44
2007.12.23
Indy FTP!


4-1181467494
lyberzon
2007-06-10 13:24
2007.12.23
Системные курсоры


15-1195835332
Piter
2007-11-23 19:28
2007.12.23
Зачем InnoSetup требует права администратора?




   Наверх