在最大化的delphi表单中,如何获取表单的还原状态位置和大小?我知道在.NET中,我们使用RestoreBounds
和DesktopBound
。
最佳答案
VCL框架没有公开这一点。相反,您需要使用Win32 API。您需要的功能是GetWindowPlacement
。
var
WindowPlacement: TWindowPlacement;
....
WindowPlacement.length := SizeOf(WindowPlacement);
Win32Check(GetWindowPlacement(Form.Handle, WindowPlacement));
您需要的信息可以在
WindowPlacement
结构中找到。请注意,坐标是相对于工作区域而不是屏幕进行报告的。通常,您需要此信息,以便以后可以恢复它。使用
SetWindowPlacement
来做到这一点。