Главная страница
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.016 c
11-1182011558
St33l
2007-06-16 20:32
2007.12.23
ExptIntf.dcu not found


2-1195940070
ProgRAMmer Dimonych
2007-11-25 00:34
2007.12.23
Проблема с D3DX8


2-1195909606
Servelat
2007-11-24 16:06
2007.12.23
Приведение типов


2-1196316222
uno
2007-11-29 09:03
2007.12.23
Запись сообщения в таблице


2-1196023535
Бэтман
2007-11-25 23:45
2007.12.23
Как проверить являеться ли строка числом ?