• 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. //效果图:


  • 相关阅读:
    创建可管理的对象属性
    解析简单xml文档
    定义类的__slots__属性节省内存的开销
    读写json数据
    读写csv,excel文件数据
    常用的字符串处理方法
    sql中case when 的使用
    对字典的处理
    元组的元素命名
    列表,字典,集合按条件筛选
  • 原文地址:https://www.cnblogs.com/del/p/1097961.html
Copyright © 2020-2023  润新知