GetWindowRect,GetClientRect,ClientToScreen 和ScreenToClient

一个窗体分为两部分:系统区和客户区
象标题和菜单,边框之类的是系统区,由系统来控制,剩下的就是客户区。

GetWindowRect()    该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。
   
GetClientRect()   获取窗口客户区的坐标。客户区坐标指定客户区的左上角和右下角。由于客户区坐标是相对窗口客户区的左上角而言的,因此左上角坐标为(0,0) 
窗口尺寸减去 客户区尺寸即是系统区。
  
ClientToScreen() 将指定点,或者矩形的用户坐标转换成屏幕坐标
ScreenToClient()该函数把屏幕上指定点或者矩形的屏幕坐标转换成客户坐标。

屏幕坐标是相对于屏幕左上角的,而窗口坐标是相对于窗口用户区左上角的。
VC下,有些函数使用窗口坐标,有些使用屏幕坐标,使用时要分清。
 
MoveWindow()  改变指定窗口的位置和大小。
对顶窗口来说,位置和大小取决于屏幕的左上角;对子窗口来说,位置和大小取决于父窗口客户区的左上角。
对于Owned窗口,位置和大小取决于屏幕左上角。
 
备注:Owned窗口:     一个Owned窗口总是在Z-Order顺序中,一般是在他的Owner窗口之前,Owned窗口的生命可以被他的Owner窗口控制,Owned窗口的显示并不局限于他的Owner窗口域,一个Owned窗口在建立后不能改变他的owner窗口。子窗口,弹出窗口,重叠窗口都可以做Owned窗口。  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值