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

Thi*_*ias 3 delphi winapi

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

Dav*_*nan 6

这不是VCL框架公开的.相反,你需要深入了解Win32 API.你需要的功能是GetWindowPlacement.

var
  WindowPlacement: TWindowPlacement;
....
WindowPlacement.length := SizeOf(WindowPlacement);
Win32Check(GetWindowPlacement(Form.Handle, WindowPlacement));
Run Code Online (Sandbox Code Playgroud)

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

通常,您需要此信息,以便以后可以恢复它.使用SetWindowPlacement这样做.