Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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
1-44716
Sharik_212
2003-06-30 19:22
2003.07.14
Помогите перевести из BP7, пожалуйста!


14-44898
Name
2003-06-27 17:25
2003.07.14
Помяните старого форумчанина Black Cat недавно погиб


7-44937
Ал
2003-04-30 15:18
2003.07.14
Как получить список часовых поясов, отсортированный как в 2000,XP


3-44541
diokant
2003-06-18 14:13
2003.07.14
Подскажите как в DBGrid1 отображать только часть записей, а при


3-44588
Jackal22
2003-06-20 18:12
2003.07.14
Сортировка DBLookupComboBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский