Форум: "Система";
Текущий архив: 2003.07.14;
Скачать: [xml.tar.bz2];
Внизhide and shutdown Найти похожие ветки
← →
velsi (2003-04-29 16:53) [0]Подскажите, как сделать так, чтобы прога реагировала на нажатие кнопки "закрыть" (крестик вверху любого окна) убиранием самой формы, но тем не менне прога при shutdown пормально закрывалась.
У меня сейчас сделано так.
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Visible then begin
CanClose := False;
Hide;
end;
end;
Но это позволяет только прятать форму, а сама прога не хочет закрываться при Log Off или ShutDown
← →
jack128 (2003-04-29 17:11) [1]TForm1 = class(TForm)
private
{ Private declarations }
f : boolean;
procedure QuerySession(var Message : TMessage); message WM_QUERYENDSESSION;
public
{ Public declarations }
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Visible and not f then begin
CanClose := False;
Hide;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
f := false;
end;
procedure TForm1.QuerySession(var Message: TMessage);
begin
f:= true;
end;
← →
jack128 (2003-04-29 17:31) [2]по хорошему надо вот так
procedure TForm1.QuerySession(var Message: TMessage);
begin
f:= true;
inherited;
end;
← →
Shurik (2003-04-30 01:11) [3]Попробуй ещё и это:
TForm1 = class(TForm)
...
private
Ok2Shutdown: Boolean; // присвой :=False, где-нить в OnCreate
procedure WMGetSysCommand (var Message :TMessage); message WM_SYSCOMMAND;
procedure QuerySession (var Message : TMessage); message WM_QUERYENDSESSION;
end;
...
procedure TForm1.WMGetSysCommand (var Message: TMessage);
begin
case Message.WParam of
SC_CLOSE: // Здесь можно не только SC_CLOSE, вообще любую константу SC_XXX
begin
if Ok2Shutdown then
inherited
else
Form1.Minimize; // или Hide/Close, вообще, что угодно
end
else
inherited;
end;
end;
procedure TForm1.QuerySession(var Message: TMessage);
begin
Ok2Shutdown:=True;
end;
← →
velsi (2003-04-30 11:07) [4]Спасибо за помощь !!!
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.07.14;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c