VC编程中遇到的窗口大小和窗口客户区大小的问题

[复制链接]
查看11 | 回复4 | 2016-4-29 04:12:16 | 显示全部楼层 |阅读模式
用 GetWindowRect 得到的是包括非客户区的矩形(非客户区含上边条,下边条,左边条,右边条,非客户区左边的左顶点,非客户区右边的右顶点,左下角的左下角顶点,右下角的右下角顶点,和客户区)。GetClientRect得到的仅是客户区的矩形。桌面上可供应用程序使用的区域是,除出系统占用区之外的应用程序可用区,系统占用的包括任务栏所占用的部分,应用程序要用WS_EX_TPMOST属性才可以扩展到这部分区域,应用程序可用区,可以用getsystemmetrics函数来查询,具体可以参考:《WIN32程序员参考大全》全书共五册,最好是下载有目录的那个PDF版。CSDN中去下载,注意下有目录的。关于窗口的一般内容其中都有,要操作和绘制非客户区,就要搜索百...
回复

使用道具 举报

千问 | 2016-4-29 04:12:16 | 显示全部楼层
有两个概念:1.客户区,是指WINDOWS去掉工具栏、菜单栏、状态栏、边框等之后,窗口中间的一块区域2.逻辑坐标和屏幕坐标,逻辑坐标是指窗口客户区左上角为(0,0),向右X增大,向下Y增大的坐标系,如果有滚动条,可能会出现坐标超出客户区范围的可能...
回复

使用道具 举报

千问 | 2016-4-29 04:12:16 | 显示全部楼层
GetClientRect得到的就是客户区 可以粗略理解为中间空白可用的大小其他的是边框菜单什么的你窗口才1024*720,鼠标消息能达到900 ?建议用窗口的MOUSEMOVE消息来监视看看...
回复

使用道具 举报

千问 | 2016-4-29 04:12:16 | 显示全部楼层
TEXTOUT最在可以到1015*900?、TEXTOUT的坐标可以是任意的值,只不过超出范围后不会在显示。。TEXOUTx=1015,y=0,那么你或许就能看一两个字吧....
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行