Главная страница
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.016 c
4-1180097579
buben
2007-05-25 16:52
2007.12.16
Замена буфера обмена


1-1190714064
Илья_С
2007-09-25 13:54
2007.12.16
Фокус ListView


15-1195087762
СетьЕть
2007-11-15 03:49
2007.12.16
Как узнать русская у пользователя Виндос или нет?


2-1195342761
.dn+
2007-11-18 02:39
2007.12.16
Спецсимволы


2-1195560917
_ant_
2007-11-20 15:15
2007.12.16
проблема с большими числами