Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Сворачивание вместо закрытия


Автор: Uragan 11.8.2009, 01:34
Вообщем как запретить закрытие я знаю.
CanClose :=false;
Application.Minimize;

а как сделать все таки чтобы при нажатии кнопки Button1 форма все таки закрывалась.
Делал флаг и в CloseQuery проверял флаг но приходится еще раз жать на крестик, а мне нужно чтобы кнопка Button1 закрывала а крестик сворачивал. Форма главная.

Автор: Frees 11.8.2009, 06:52
  Application.Terminate;

Автор: former 11.8.2009, 09:12
Цитата(Uragan @  11.8.2009,  01:34 Найти цитируемый пост)
Делал флаг и в CloseQuery проверял флаг но приходится еще раз жать на крестик

Значит что-то не так делал.
Цитата(Frees @  11.8.2009,  06:52 Найти цитируемый пост)
Application.Terminate; 

Frees, зачем так жестко?

Можно же вот так:
Код

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 }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  ccc:integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  ccc:=1;
  Close;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if ccc=1 then
    CanClose:=true
  else
  begin
    CanClose:=false;
    Application.Minimize;
  end;
end;

end.

Автор: Данкинг 11.8.2009, 09:28
former, только обычно "типа крутые программеры" используют в подобных случаях не переменную, а Button1.Tag. smile 

Автор: former 11.8.2009, 09:43
Данкинг, это для наглядности.  smile 

Автор: Uragan 11.8.2009, 11:11
СпасибО! Так же делал, но у меня трей икон не на главнйо форме, поэтому просто Close, не работал...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)