Форум: "Начинающим";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];
ВнизСобытия сворачивания окна Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.06 c