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

Вниз

События сворачивания окна   Найти похожие ветки 

 
AIK   (2007-11-23 16:51) [0]

В правом углу окна формы есть такой крестик квадратик и нижняя чёрточка
Как сделать события когда нажимаю на черточку?
Заранее спасибо.


 
Рамиль ©   (2007-11-23 16:55) [1]

Обработать WM_SYSCOMMAND


 
АИК   (2007-11-23 17:16) [2]

???????????


 
clickmaker ©   (2007-11-23 17:24) [3]

OnClose
OnCloseQuery


 
@!!ex ©   (2007-11-23 17:36) [4]

> [3] clickmaker ©   (23.11.07 17:24)

Не. Черточка - это minimize


 
clickmaker ©   (2007-11-23 18:08) [5]


> [4] @!!ex ©   (23.11.07 17:36)

а, точно!
наверно сбило с толку "такой крестик" )


 
Igor Zorkov ©   (2007-11-23 21:44) [6]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   CheckBox1: TCheckBox;
 protected
   procedure WMSYSCOMMAND(var message: TMessage); message WM_SYSCOMMAND;
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMSYSCOMMAND(var message: TMessage);
begin
 if (message.wParam = SC_MINIMIZE) then
 begin
   if CheckBox1.Checked then
     Application.Minimize;
 end else
   inherited;
end;

end.


 
AIK   (2007-11-24 08:38) [7]


> Igor Zorkov ©   (23.11.07 21:44) [6]

Неплохо но приходится доделывать чтобы форму можно было закрыть (это когда на крестик SC_CLOSE) и разворачивать на весь экран (а это когда на квадратик SC_MAXIMIZE)
Нет чего ни будь по проще?
К тому же и форма не перемешается


 
Igor Zorkov ©   (2007-11-24 08:49) [8]


> AIK   (24.11.07 08:38) [7]



> Нет чего ни будь по проще?


Куда уж проще, что не понятно?


> К тому же и форма не перемешается


Непонял


 
AIK   (2007-11-24 08:53) [9]

Эт когда захватываешь верхнею часть формы курсором и перемешаешь её


 
Igor Zorkov ©   (2007-11-24 09:22) [10]


> AIK   (24.11.07 08:53) [9]


У меня перемещаеться


 
AIK   (2007-11-24 09:27) [11]

Вот полный код блин неперемещаеться!!!

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
   CheckBox1: TCheckBox;
protected
  procedure WMSYSCOMMAND(var message: TMessage); message WM_SYSCOMMAND;

 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.WMSYSCOMMAND(var message: TMessage);
begin
Case message.wParam  of

SC_MINIMIZE: Application.Minimize;

SC_CLOSE: Close;

SC_MAXIMIZE: Form1.WindowState:=wsMaximized;

SC_RESTORE: Form1.WindowState:=wsNormal;

end;
end;
end.


 
Igor Zorkov ©   (2007-11-24 09:37) [12]


> AIK   (24.11.07 09:27) [11]


Так надо давать возможность обрабатывать другие сообщения


procedure TForm1.WMSYSCOMMAND(var message: TMessage);
begin
Case message.wParam  of

SC_MINIMIZE: Application.Minimize;

SC_CLOSE: Close;

SC_MAXIMIZE: Form1.WindowState:=wsMaximized;

SC_RESTORE: Form1.WindowState:=wsNormal;

end;
 inherited;
end;


 
Igor Zorkov ©   (2007-11-24 09:44) [13]

procedure TForm1.WMSYSCOMMAND(var message: TMessage);
begin
 if message.wParam = SC_MAXIMIZE then
 begin
   WindowState:= wsMaximized;
 end else
 if message.wParam = SC_MINIMIZE then
 begin
   WindowState:= wsMinimized;
 end else
 if message.wParam = SC_CLOSE then
 begin
   ShowMessage("FUCK");
 end else
   inherited;
end;



Страницы: 1 вся ветка

Текущий архив: 2007.12.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
2-1195667957
vegarulez
2007-11-21 20:59
2007.12.16
Вопрос про создание БД Access+Tables в одним действием.


11-1180276770
Vladimir Kladov
2007-05-27 18:39
2007.12.16
Пожелания: GRushControls


5-1164364822
--= Eagle =--
2006-11-24 13:40
2007.12.16
Именовать сабкомпоненту


15-1195079234
Альберт
2007-11-15 01:27
2007.12.16
при установки kol не найден exptintf.dcu


2-1195666443
navichok
2007-11-21 20:34
2007.12.16
BDE error $000F