2015-04-27 36 views
3

在最大化的德爾福窗體中,如何獲取窗體的恢復狀態位置和大小?我知道在.NET中我們使用RestoreBoundsDesktopBound德爾菲窗體恢復狀態的位置和大小

+0

你可以使用JediVCL庫,其中有'TJvFormPlacement'和'TJvFormStorage'組件可自動保存/恢復表單的界限到註冊表,ini或DB –

回答

6

這不是由VCL框架公開的。相反,你需要進入Win32 API。你需要的功能是GetWindowPlacement

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

您需要的信息可以在WindowPlacement結構中找到。請注意,座標是根據工作區域而不是屏幕報告的。

通常您需要這些信息,以便日後恢復。使用SetWindowPlacement來做到這一點。