Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.23;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.018 c
15-1195944028
Суслик
2007-11-25 01:40
2007.12.23
Некие новости о Delphi


2-1195933899
riko
2007-11-24 22:51
2007.12.23
Клиент сервер


15-1195700635
Slider007
2007-11-22 06:03
2007.12.23
С днем рождения ! 22 ноября 2007 четверг


3-1187346916
Bless
2007-08-17 14:35
2007.12.23
Как правильно "гасить" MSSQL-ошибку с кодом 266


2-1196497132
Pacific
2007-12-01 11:18
2007.12.23
Ошибка