抓住最小化事件表格(德尔福)

时间:2014-02-18 17:52:53

标签: delphi events minimized

我找到了2种捕捉onMinimize事件的方法。

首先:在FormResize事件:

if MyForm.WindowState = wsMinimized then ......

第二:声明消息处理程序如下:

procedure WMSize(var Msg: TMessage); message WM_SIZE;

然后:

procedure TForm57.WMSize(var Msg: TMessage);
begin
  if Msg.WParam  = SIZE_MINIMIZED then ....
end;

哪种方式更好?!

2 个答案:

答案 0 :(得分:5)

为响应相同的消息(OnResize)而触发

WM_SIZE。除非您需要在VCL处理消息之前做出反应(更新滚动条,对齐控件等),否则您不需要附加消息处理程序。否则,请务必在inherited调用之前处理它(样本中缺少)。

答案 1 :(得分:1)

第二个更好。因为WindowState不一定是wsMinimized。