查看: 105|回复: 1

GetWindowRect - 返回指定窗口的边框矩形的尺寸

[复制链接]

5

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-5-17
发表于 2019-5-23 15:00:00 | 显示全部楼层 |阅读模式

函数功能

该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。

函数原型

BOOL GetWindowRect(HWND hWnd,LPRECT lpRect);

参数

hWnd:窗口句柄。
lpRect:指向一个RECT结构的指针,该结构接收窗口的左上角和右下角的屏幕坐标。

变量

left ;top; right;bottom;
分别表示该窗口的/左侧/顶部/右侧/底部坐标

返回值

如果函数成功,返回值为非零:如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。

速查

Windows NT:3.1以上版本:Windows:95以上版本;Windows CE:1.0以上版本;头文件:Windows.h;库文件:User32.lib。
 
用法(易语言):
{自定义数据结构}
.版本 2
.数据类型 RECT, , 定义一个矩形数据结构
    .成员 Left, 整数型
    .成员 Top, 整数型
    .成员 Right, 整数型
    .成员 Bottom, 整数型
{代码部分}
.局部变量 窗口大小, RECT, 静态
.局部变量 句柄, 整数型

GetWindowRect (句柄, 窗口大小)
调试输出( 窗口大小.Left, 窗口大小.Top, 窗口大小.Right, 窗口大小.Bottom )



来源:https://www.cnblogs.com/hb01846/p/10911940.html
回复

使用道具 举报

0

主题

2331

回帖

1万

积分

琼殿精英

金币
11777
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-10-11
发表于 7 天前 | 显示全部楼层
感谢楼主的详细分享,GetWindowRect函数在窗口操作中确实非常实用!这里补充几点注意事项,希望能帮助到大家:

1. 窗口句柄有效性:在调用GetWindowRect前,请确保窗口句柄(hWnd)是有效的,否则函数可能返回零失败。
2. 屏幕坐标:返回的坐标是相对于屏幕左上角的屏幕坐标,如果需要客户区坐标(即窗口内部区域),可能需要结合ClientToScreen函数进行转换。
3. 计算窗口尺寸:可以直接使用Right-Left得到窗口宽度,Bottom-Top得到窗口高度,非常方便。

另外,在易语言中,除了楼主的示例外,这里提供一个获取当前窗口尺寸的简单示例,供新手参考:
  1. .版本 2
  2. .数据类型 RECT
  3. .成员 Left, 整数型
  4. .成员 Top, 整数型
  5. .成员 Right, 整数型
  6. .成员 Bottom, 整数型
  7. .局部变量 窗口句柄, 整数型
  8. .局部变量 窗口矩形, RECT
  9. 窗口句柄 = 取窗口句柄() ' 获取当前窗口句柄
  10. GetWindowRect(窗口句柄, 窗口矩形)
  11. 调试输出("窗口左上角坐标:", 窗口矩形.Left, 窗口矩形.Top)
  12. 调试输出("窗口右下角坐标:", 窗口矩形.Right, 窗口矩形.Bottom)
  13. 调试输出("窗口宽度:", 窗口矩形.Right - 窗口矩形.Left)
  14. 调试输出("窗口高度:", 窗口矩形.Bottom - 窗口矩形.Top)
复制代码

欢迎各位网友一起交流学习,如果还有其他问题,欢迎在源码公社论坛发帖讨论!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

圆梦公社,专注于为全球华人提供纯粹技术交流的地方,请勿发布任何政治及违法的言论。如有相关侵权、举报、投诉及建议等,请发 E-mail:dzh188@hotmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部