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

Jes*_*ica 5 delphi events minimized

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

第一:关于FormResize事件:

if MyForm.WindowState = wsMinimized then ......
Run Code Online (Sandbox Code Playgroud)

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

procedure WMSize(var Msg: TMessage); message WM_SIZE;
Run Code Online (Sandbox Code Playgroud)

然后:

procedure TForm57.WMSize(var Msg: TMessage);
begin
  if Msg.WParam  = SIZE_MINIMIZED then ....
end;
Run Code Online (Sandbox Code Playgroud)

哪种方式更好?!

Ser*_*yuz 5

OnResize被激活以响应相同的消息(WM_SIZE).除非您需要在VCL处理消息之前做出反应(更新滚动条,对齐控件等),否则您不需要附加消息处理程序.否则,请务必在inherited通话之前处理它(样本中缺少).