Главная страница
    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.052 c
14-1090684020
Knight
2004-07-24 19:47
2004.08.08
W32Dasm Version 8.x Series


14-1090554279
ИМХО
2004-07-23 07:44
2004.08.08
Теория заговоров в большом спорте


8-1084813194
Nomolos
2004-05-17 20:59
2004.08.08
Нужны линки на исходники аудио-граббера


1-1090908906
lightix
2004-07-27 10:15
2004.08.08
Установить в программе формат вывода даты для DateTimePicker


3-1089902181
Leech
2004-07-15 18:36
2004.08.08
SQL запрос на Paradox





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