3
在最大化的德爾福窗體中,如何獲取窗體的恢復狀態位置和大小?我知道在.NET中我們使用RestoreBounds
和DesktopBound
。德爾菲窗體恢復狀態的位置和大小
在最大化的德爾福窗體中,如何獲取窗體的恢復狀態位置和大小?我知道在.NET中我們使用RestoreBounds
和DesktopBound
。德爾菲窗體恢復狀態的位置和大小
這不是由VCL框架公開的。相反,你需要進入Win32 API。你需要的功能是GetWindowPlacement
。
var
WindowPlacement: TWindowPlacement;
....
WindowPlacement.length := SizeOf(WindowPlacement);
Win32Check(GetWindowPlacement(Form.Handle, WindowPlacement));
您需要的信息可以在WindowPlacement
結構中找到。請注意,座標是根據工作區域而不是屏幕報告的。
通常您需要這些信息,以便日後恢復。使用SetWindowPlacement
來做到這一點。
你可以使用JediVCL庫,其中有'TJvFormPlacement'和'TJvFormStorage'組件可自動保存/恢復表單的界限到註冊表,ini或DB –