我想在表单最大化或还原后调用函数。我知道我可以这样:
procedure TfrmMain.WMSysCommand;
begin
if (Msg.CmdType = SC_MAXIMIZE) OR (Msg.CmdType = SC_RESTORE) then
begin
Showmessage(IntToStr(frmMain.Height));
end;
DefaultHandler(Msg) ;
end;
Run Code Online (Sandbox Code Playgroud)
但是问题是:在实际调整表单大小之前会触发此事件-因此,当表单最大化时,在表单最大化之前,我会得到表单的高度(但是在表单最大化之后,我想要表单的宽度)。
这该怎么做?谢谢!
以下链接可能会为您提供帮助:
http://www.tek-tips.com/viewthread.cfm?qid=809465&page=176
将此声明到该单元的接口部分
Procedure sizeMove (var msg: TWMSize); message WM_SIZE;
Run Code Online (Sandbox Code Playgroud)
和执行此程序:
Procedure TfrmMain.sizeMove (var msg: TWMSize);
begin
inherited;
if (msg.SizeType = SIZE_MAXIMIZED) OR (msg.SizeType = SIZE_RESTORED)then
resizeQlikViewReports();
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6308 次 |
| 最近记录: |