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