Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: 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 вся ветка

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

Наверх




Память: 0.46 MB
Время: 0.038 c
1-1090685928
fess
2004-07-24 20:18
2004.08.08
Оператор for


8-1085194824
Steef
2004-05-22 07:00
2004.08.08
Регулятор звука


3-1089705380
Newuser
2004-07-13 11:56
2004.08.08
Вопрос по SQL


3-1089558405
Nurali
2004-07-11 19:06
2004.08.08
Запрос


1-1090493738
tria
2004-07-22 14:55
2004.08.08
TSpinEdit - не отрабатывают MinValue и MaxValue. Почему?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский