Форум: "Начинающим";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];
ВнизЗакрытие приложения Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.047 c