Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.078 c
1-1090499867
KADAN
2004-07-22 16:37
2004.08.08
Free дерева


8-1085055014
Musiy
2004-05-20 16:10
2004.08.08
Как сделать плавный переход полупрозрачности........


8-1085256428
Strimer
2004-05-23 00:07
2004.08.08
OpenGL. "Мигание" области отрисовки


1-1090998978
tria
2004-07-28 11:16
2004.08.08
Добавляю много строк в грид.


1-1090845706
Iconka
2004-07-26 16:41
2004.08.08
Еxception





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский