文档章节

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

涂孟超
 涂孟超
发布于 2014/09/26 15:35
字数 202
阅读 13
收藏 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
GetDC,GetDCEX,GetWindowDC

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

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

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

长平狐
2012/11/12
134
0
VC对话框全屏显示及相应控件位置改变(转)

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

长平狐
2012/11/01
129
0
vc 对话框分割窗口

对话框的分割可以进行自绘实现,不过太复杂麻烦。mfc中CSplitterWnd类只能在框架窗口中使用,为了分割对话框,可以把框架窗口作为对话框的子窗口,具体可以这样做, 继承view,作为分割后的视...

Ne0o0
2016/04/01
44
0

没有更多内容

加载失败,请刷新页面

加载更多

前嗅ForeSpider教程:采集黄页88

以黄页88为例,采集当前列表页新闻的正文数据: 第一步:新建任务 ①点击左上角“加号”新建任务,如图1: 【图1】 ②在弹窗里填写采集地址,任务名称,如图2: 【图2】 ③点击下一步,选择进...

forespider
15分钟前
1
0
Spring Cloud Alibaba基础教程:Nacos 生产级版本 0.8.0

昨晚Nacos社区发布了第一个生产级版本:0.8.0。由于该版本除了Bug修复之外,还提供了几个生产管理非常重要的特性,所以觉得还是有必要写一篇讲讲这次升级,在后续的文章中也都将以0.8.0版本为...

程序猿DD
23分钟前
1
0
HTML+CSS实现div的高度自适应填满剩余空间的7种方法

如图上下两部分,上面部分适应内容的高度,下面部分填充剩余部分。 当下面内容不够时,在下面部分出现滚动条 有2种情况 1.上面内容的高度适应内容,只有2种方法(flex、quirks+table) 2.上面...

linsk1998
27分钟前
1
0
Oracle学习日志-8(查询结果排序)

要用到的表如下 书上写到,上面的查询结果排序是随机的,再执行几次结果可能不同,但是我执行多次后,查询结果的排序都是如此,是因为oracle的默认处理方式是按照物理储存顺序查询的,而我在...

白话
33分钟前
1
0
Data truncation: Incorrect datetime value: '0000-00-00 00:00:00' for column xxx

1. 错误提示 Data truncation: Incorrect datetime value: '0000-00-00 00:00:00' for column xxx 2. 问题分析 从上面的描述我们可以看出原因是:我们给类型是datetime的xxx字段赋值0000-00......

易冥天
36分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部