Вниз
Скачать: CL | DM;

Как можно отследить минимизацию окна программы   Найти похожие ветки 

← →
AlexR   (2004-07-22 02:35) [0]

Можно ли как-то отследить минимизацию окна программы?


← →
Palladin ©   (2004-07-22 02:39) [1]

Палитра компонентов\Additional\ApplicationEvents

OnMinimize


← →
Palladin ©   (2004-07-22 02:48) [2]

Хотя, это для всего приложения... Если нужно для отдельного окна то WM_SIZE+F1


← →
akvilon ©   (2004-07-22 02:56) [3]

перехватывай WM_MINIMAZE


← →
Palladin ©   (2004-07-22 03:01) [4]

чаво чаво пирехватывай?


← →
AlexR   (2004-07-22 03:13) [5]


> akvilon ©   (22.07.04 02:56) [3]
> перехватывай WM_MINIMAZE

Да, я сам думал что должно быть что-то вроде этого но такого нет.
Есть wm_size, но он как-то криво срабатывает. Для minimized не срабатывает совсем.


← →
akvilon ©   (2004-07-22 03:13) [6]

да, это я чё-то .... такого и нету совсем :)


← →
RDen   (2004-07-22 06:43) [7]

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   Memo1: TMemo;

   procedure FormCreate(Sender: TObject);
   procedure AppMinimize(Sender: TObject);

 private
   { Private declarations }
 public

   { Public declarations }
   
 end;

var
 Form1: TForm1;
 var i:integer;
implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.AppMinimize(Sender: TObject);
begin
i:=i+1;
 Application.Minimize;
 form1.caption:="Приложение было свёрнуто "+inttostr(i) +" раз";
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  i:=0;
  Application.OnMinimize := AppMinimize;
end;


← →
Palladin ©   (2004-07-22 19:19) [8]


> RDen   (22.07.04 06:43)

А ты [2] читал прежде чем вынести на обозрение свой супер оригинальный и неповторимый (а, кстати, может быть и гениальный с твоей точки зрения) вариант решения проблемы...


← →
superedward ©   (2004-07-23 07:06) [9]

что и использую при минимизации именно окна, а не приложения:
ловишь сообщение wm_syscommand:
procedure WMGetSysCommand(var Msg : TMessage); message WM_SYSCOMMAND;

код:
procedure TForm1.WMGetSysCommand(var Msg :TMessage);
begin
case Msg.wParam of
 SC_MINIMIZE: ProcedureOnMinimize;
 SC_MAXIMIZE: ProcedureOnMaximize;
 SC_RESTORE : ProcedureOnRestore;
 SC_CLOSE   : ProcedureOnClose;
 else inherited;
end;
end;

это если хочешь полностью заменить обработчики
работает как при нажатии кнопок на Caption, так и в меню окна



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.026 c
14-1090440735
Саша
2004-07-22 00:12
2004.08.08
Softlice


10-1027921118
epflorov
2002-07-29 22:15
2004.08.08
Проблемы с Naming Service


6-1086618036
Adil
2004-06-07 18:20
2004.08.08
Ошибка 503


1-1090577738
кларк
2004-07-23 14:15
2004.08.08
Как сделать, чтобы ListBox заполнился при откр диал окна?


1-1090479966
Lamer_Of_Delphi
2004-07-22 11:06
2004.08.08
Интерпретатор




   Наверх