I found 2 ways for catching onMinimize event.
First: On FormResize event:
if MyForm.WindowState = wsMinimized then ......
Second: Declaring the message handler like this:
procedure WMSize(var Msg: TMessage); message WM_SIZE;
And then:
procedure TForm57.WMSize(var Msg: TMessage);
begin
if Msg.WParam = SIZE_MINIMIZED then ....
end;
Which way is better?!
OnResize
is fired in response to the same message (WM_SIZE
). Unless you need to react before the VCL handles the message (update scrollbars, align controls etc.), you don't need to attach a message handler. Otherwise, be sure to handle it before the inherited
call (which is missing in your sample).
second is better. as WindowState is not necessarily wsMinimized.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With