WinAPI: GetWindowRect、GetClientRect - 获取窗口的外部与内部矩形

提示:
1、其实用 Delphi 内部同类函数很方便的, 但系统函数是全局的;
2、使用 GetClientRect 时, 一般要 Windows.GetClientRect, 因为 TForm 的父类有同名函数.

//声明:



{获取窗口外部矩形(相对于屏幕)}

GetWindowRect(

  hWnd: HWND;       {窗口句柄}

  var lpRect: TRect {用于返回的矩形指针}

): BOOL;



{获取窗口内部矩形}

GetClientRect(

  hWnd: HWND;       {窗口句柄}

  var lpRect: TRect {用于返回的矩形指针}

): BOOL;


 
   
//举例: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; procedure FormShow(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormShow(Sender: TObject); var r: TRect; begin GetWindowRect(Handle, r); Label1.Caption := Format('%d,%d,%d,%d', [r.Left,r.Top,r.Right,r.Bottom]); Windows.GetClientRect(Handle, r); Label2.Caption := Format('%d,%d,%d,%d', [r.Left,r.Top,r.Right,r.Bottom]); end; end. //效果图:
WinAPI: GetWindowRect、GetClientRect - 获取窗口的外部与内部矩形

你可能感兴趣的:(window)