德尔福表格恢复州的位置和大小

时间:2015-04-27 13:58:54

标签: delphi winapi

在最大化的delphi形式中,如何获得表单恢复的状态位置和大小?我知道在.NET中我们使用RestoreBoundsDesktopBound

1 个答案:

答案 0 :(得分:6)

VCL框架没有公开这一点。相反,你需要深入了解Win32 API。您需要的功能是GetWindowPlacement

var
  WindowPlacement: TWindowPlacement;
....
WindowPlacement.length := SizeOf(WindowPlacement);
Win32Check(GetWindowPlacement(Form.Handle, WindowPlacement));

您需要的信息可以在WindowPlacement结构中找到。请注意,相对于工作区而不是屏幕报告坐标。

通常,您需要此信息,以便日后可以恢复。使用SetWindowPlacement来执行此操作。