Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
ВнизКак можно отследить минимизацию окна программы Найти похожие ветки
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2004.08.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.052 c