![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
свернуть окно
Graf © (2006-05-18 17:01:00)Доброго времени суток всем. Подскажите пожалуйста как сделать так чтобы нажав на кнопку закрыть в заголовке окна форма не закрывалась а сворачивалась
graf (2006-05-19 12:42:00) [1]Всем огромное спасибо. Полегчало :-)
Marser (2006-05-18 19:35:00) [2]> Graf © (18.05.06 17:01)
> Доброго времени суток всем. Подскажите пожалуйста как сделать
> так чтобы нажав на кнопку закрыть в заголовке окна форма
> не закрывалась а сворачивалась
Событие OnCloseQuery позволяет обрабаывать команду на закрытие формы по-своему.
Плохиш (2006-05-18 17:35:00) [3]
> Graf © (18.05.06 17:01)
procedure TForm1.FormCreate(Sender: TObject);
begin
bProgExit := false;
...
end;
procedure TForm1.btnExitClick(Sender: TObject);
begin
bProgExit := true;
Close;
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if bProgExit then CanClose := true
else
begin
CanClose := false;
if WindowState <> wsMinimized then WindowState := wsMinimized;
end;
end;
easy (2006-05-18 17:31:00) [4]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
gEndSession:boolean;
procedure WMQueryEndSession(var message: TWMQueryEndSession); message WM_QUERYENDSESSION;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
procedure TForm1.WMQueryEndSession(var message: TWMQueryEndSession);
begin
message.Result := 1;
gEndSession := True;
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if not gEndSession then begin
CanClose := false;
Application.Minimize;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
gEndSession := True;
close;
end;
end.
DevilDevil (2006-05-18 17:18:00) [5]
//Form1.OnCloseQuery
CanClose := false;
//Form1.Minimize;
// или
Application.Minimize;
Чтобы закрыть приложение (по другой кнопке), пиши:
Application.Terminate;
dimodim (2006-05-18 17:09:00) [6]по єкспериментируй с closequery , там ставиш action:=minimize
Неуверен что правильно, но где-то так