Delphi-表单最大化事件

Delphi-表单最大化事件,delphi,Delphi,我想在窗体最大化或还原后调用函数。 我知道我可以这样做: procedure TfrmMain.WMSysCommand; begin if (Msg.CmdType = SC_MAXIMIZE) OR (Msg.CmdType = SC_RESTORE) then begin Showmessage(IntToStr(frmMain.Height)); end; DefaultHandler(Msg) ; end; 但问题是:此事件是在窗体实际调整大小之前触

我想在窗体最大化或还原后调用函数。 我知道我可以这样做:

procedure TfrmMain.WMSysCommand;
begin
   if (Msg.CmdType = SC_MAXIMIZE) OR (Msg.CmdType = SC_RESTORE) then
   begin
     Showmessage(IntToStr(frmMain.Height));
   end;
   DefaultHandler(Msg) ;
end;
但问题是:此事件是在窗体实际调整大小之前触发的-因此,当窗体最大化时,我得到窗体最大化之前的高度(但我想要窗体最大化之后的宽度)


如何做到这一点?谢谢

以下链接可能会帮助您:

将其声明到此单元的接口部分中

Procedure sizeMove (var msg: TWMSize); message WM_SIZE; 
以及本程序的实施:

Procedure TfrmMain.sizeMove (var msg: TWMSize);
begin 
 inherited; 
 if (msg.SizeType = SIZE_MAXIMIZED) OR (msg.SizeType = SIZE_RESTORED)then   
  resizeQlikViewReports(); 
end;

如果你发布文章的链接,请在链接后面包含一些关于文章的信息,也许至少是文章的标题?@Marjan:我很匆忙,这就是只放链接的原因…下次我会更明确:)