GetWindowRect() 和GetClientRect() 之间的区别

 

GetWindowRect() 得到的是在屏幕坐标系下的RECT;(即以屏幕左上角为原点)

GetClientRect() 得到的是在客户区坐标系下的RECT; (即以所在窗口左上角为原点)

GetWindowRect()取的是整个窗口的矩形;

GetClientRect()取的仅是客户区的矩形,也就是说不包括标题栏,外框等;

第一个函数获得的是窗口在屏幕上的位置,得到的结果可能是这样CRect(10,10,240,240);

第二个函数和它不同,它只获得了客户区的大小,因此得到的结果总是这样CRect(0,0,width,height);

 

ScreenToClient() 就是把屏幕坐标系下的RECT坐标转换为客户区坐标系下的RECT坐标。

 

GetClientRect得到的是客户区的大小,也就是说这样得到的左上角永远是(0,0)

 

GetWindowRect 是窗口相对于整个屏幕的坐标,屏幕左上点为0,0

 

相互转化用ScreenToClient 或者 ClientToScreen

 

MoveWindow()用法说明:

For a top-level window, the position and dimensions are relative to the upper-left corner of the screen

对于top-level窗口,用屏幕坐标

For a child window, they are relative to the upper-left corner of the parent window's client area.

对于chile 窗口,用客户区域坐标

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值