Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.14;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
3-44599
Brain Force
2003-06-20 18:26
2003.07.14
Народ, помогите ламеру с отчетами....


9-44534
Кен
2003-01-27 07:53
2003.07.14
GlScene Нет ли где нибудь описания для Material ? Уж больно много


14-44911
Кен
2003-06-27 06:19
2003.07.14
Какой должен быть код, чтобы вам было легче его понять ?


14-44883
Dmitriy O.
2003-06-23 08:25
2003.07.14
---|Ветка была без названия|---


14-44908
Шишкин Илья
2003-06-28 21:42
2003.07.14
Подскажите почтовую службу