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:我很匆忙,这就是只放链接的原因…下次我会更明确:)