VC编程中遇到的窗口大小和窗口客户区大小的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC编程中遇到的窗口大小和窗口客户区大小的问题相关的知识,希望对你有一定的参考价值。
我用CreateWindow创建了一个1024*720大小的窗口,有菜单。
然后我又用GetClientRect去获取客户区大小,它的值是1008*662
但是我自己在响应LBUTTONDOWN消息的时候,点击窗口内部,用TextOut输出坐标,最大可以达到1015*900左右啊,这是什么情况。。
难道客户区是另外的意思?那我怎么获取我窗口中间空白可用的大小啊。。。
1.客户区,是指WINDOWS去掉工具栏、菜单栏、状态栏、边框等之后,窗口中间的一块区域
2.逻辑坐标和屏幕坐标,逻辑坐标是指窗口客户区左上角为(0,0),向右X增大,向下Y增大的坐标系,如果有滚动条,可能会出现坐标超出客户区范围的可能追问
那如果我想要获取一个没有菜单,工具,状态栏的窗口的区域怎么获取呢?GetClientRect不行嘛。。
参考技术B GetClientRect得到的就是客户区 可以粗略理解为中间空白可用的大小其他的是边框菜单什么的
你窗口才1024*720,鼠标消息能达到900 ?
建议用窗口的MOUSEMOVE消息来监视看看 参考技术C TEXTOUT最在可以到1015*900?、
TEXTOUT的坐标可以是任意的值,只不过超出范围后不会在显示。。
TEXOUT x=1015,y=0,那么你或许就能看一两个字吧. 参考技术D 第一个非客户区的大小加上你想要的大小客户,然后SetWindowPos不是什么?追问
这跟movewindow差不多嘛,我只是想要得到窗口中间那部分的大小。。
以上是关于VC编程中遇到的窗口大小和窗口客户区大小的问题的主要内容,如果未能解决你的问题,请参考以下文章