文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:35
字数 202
阅读 11
收藏 0
提示:
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. //效果图:


本文转载自:http://www.cnblogs.com/del/archive/2008/03/10/1097961.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
GetWindowRect & GetClientRect

GetWindowRect 函数功能:该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。 GetClientRect 该函数获取窗口客户区的坐标。客户区坐标指定客户区的左上角和...

ryany
2010/11/05
0
0
【Visual C++】游戏开发笔记十三 游戏输入消息处理(二) 鼠标消息处理

本系列文章由zhmxy555编写,转载请注明出处。 http://blog.csdn.net/zhmxy555/article/details/7405479 作者:毛星云 邮箱: happylifemxy@qq.com 欢迎邮件交流编程心得 上一节我们讲解了键盘...

长平狐
2012/11/12
110
0
GetDC,GetDCEX,GetWindowDC

GetDC():获得指定窗口的客户区设备描述表句柄。 GetDCEX():获得指定窗口的客户区设备描述表句柄,是GetDC的扩展,对如何剪裁客户区域或是否剪裁客户区域提供给程序更多的控制。 GetWindowDC(...

yintao
2014/11/17
0
0
VC对话框全屏显示及相应控件位置改变(转)

一、简单对话框全屏显示方法在OnInitDialog()中任意加入: 1、ModifyStyle(WSCAPTION,0,0); //如果不想去掉标题栏,去掉该句。 SendMessage(WMSYSCOMMAND,SCMAXIMIZE,0); 2、ShowWindow(SWSH...

长平狐
2012/11/01
82
0
CDC绘图总结

GDI总结:http://dingchaoqun12.blog.163.com/blog/static/11606250420112213396361/ 对话框 控件 视图类 应用程序框架都会调用该CWnd的消息响应成员函数(的覆盖)来绘制窗口客户区。 在Win...

长平狐
2012/10/08
2.3K
0

没有更多内容

加载失败,请刷新页面

加载更多

Shell编程(expect同步文件、指定host和同步文件、构建文件分发系统、批量执行命令)

expect脚本同步文件 需求:自动同步文件 实验准备: A机器:192.168.248.130 B机器:192.168.248.129 实现: 1.A机器编写4.expect脚本文件,内容如下所示: #!/usr/bin/expectset passwd "...

蛋黄_Yolks
16分钟前
0
0
ppwjs之bootstrap颜色:背景颜色

<!DOCTYPT html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>ppwjs欢迎您</title><link rel="icon" href="/favicon.ico" ......

ppwjs
16分钟前
0
0
Ubuntu与 Fedora之对比

大家好。今天我将重点介绍两个流行的Linux发行版之间的一些特性和差异; Ubuntu 18.04和Fedora 28。它们都有自己的包管理; Ubuntu使用DEB,而Fedora使用RPM,但它们都具有相同的桌面环境(GNO...

linuxprobe16
20分钟前
0
0
线性代数入门

线性代数的概念对于理解机器学习背后的原理非常重要,尤其是在深度学习领域中。它可以帮助我们更好地理解算法内部到底是怎么运行的,借此,我们就能够更好的做出决策。所以,如果你真的希望了...

牛奋Debug
昨天
2
0
开发5分钟,调试2小时 - 该如何debug?

几年来我在答疑群、论坛、公众号、知乎回答的各种问题,没有一万也有八千。其中有三分之二以上都是在帮人看报错,帮人 debug(调试代码)。 可以说,会不会 debug,有没有 debug 的意识,懂不...

crossin
昨天
3
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部