Отследить сворачивание/разворачивание окна.

Zmiy

Доброе время суток!Не подскажите как определить, что пользователь свернул или наоборот развернул окно? Сколько нни искал в интернете, нашел только вариант с определением сообшения wm_size, но вот до конца не понял как работает такая технология. Может кто расскажет поподробней или ссылку бы какую-нибудь.Заранее благодарен.
3 ответа

Zmiy

<b>private</b>
 <b>procedure</b> WMGetSysCommand(<b>var</b> Msg: TMessage); message WM_SYSCOMMAND;

...

<b>procedure</b> TfrmMain.WMGetSysCommand(<b>var</b> Msg: TMessage);
<b>begin</b>
 <b>if</b> (Msg.wParam = SC_MINIMIZE) <b>then</b>
 <b>begin</b>
 sTray.Visible := True;
 fmServerMain.Hide;
 <b>end</b>
 <b>else</b>
 <b>inherited</b>;
<b>end</b>;


Zmiy

<pre class="prettyprint linenums">unit Unit1; interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private <i>{ Private declarations }</i> procedure AppOnMinimize(Sender: TObject); procedure AppOnRestore(Sender: TObject); public <i>{ Public declarations }</i> end; var Form1: TForm1; implementation <i>{$R *.dfm}</i> procedure TForm1.AppOnMinimize(Sender: TObject); begin Application.Title := 'Меня свернули :('; end; procedure TForm1.AppOnRestore(Sender: TObject); begin Application.Title := 'Меня вернули :)'; end; procedure TForm1.FormCreate(Sender: TObject); begin Application.OnMinimize := AppOnMinimize; Application.OnRestore := AppOnRestore; end; end. </pre>


Zmiy

Всем спасибо попробовал первый метод.