Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

свернуть окно


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
Неуверен что правильно, но где-то так


Наверх

Титульная страница Поиск, карта сайта Написать письмо