可以根据电脑的显示器大小在代码你编写窗体的大小
单位为:缇
1缇=1/1440英寸
1英寸=254厘米
1厘米=56692913缇
height=RectBottom
1、FindWindow 寻找到窗口的句柄。
2、GetWindowRect 根据以上找到的窗口句柄取得窗口矩形(RECT结构)。
3、根据获得的Rect结构就可以算出其他窗口的高度与宽度了。
正确的方法是这样的:
crect
rect;
getwindowrect(&rect);
这样获得的是控件相对于屏幕的坐标,然后用screentoclient(&rect)就可以获得控件相对于父窗口的坐标
注意:如果你用getclientrect(&rect)的话,rectleft和recttop始终是0,得到的并不是实际坐标。
1、打开按键精灵,或者新建一个脚本。
2、然后点击上方的抓抓。
3、此时就会出现抓抓工具,点击图像。
4、然后打开需要确定坐标的窗口,点击截屏。
5、将整个屏幕截取下来了,然后找到需要确定位置的地方,选择将坐标添加到点1,,如果有多个坐标,可以分别加入到点2,3,4,5……
6、在放大镜中可以看到点的坐标。
7、关闭抓抓,在脚本的编辑界面,点击鼠标命令。
8、可以看到刚才找到的点1,2,3……,点击插入。
9、就输入了将鼠标移动到刚才那点位置的命令了。
GetWindowsRect获取的是窗口矩形范围,其中RECT的left和top就是窗口左上角的坐标,也就是你所说的窗口位置
GetWindowsRect返回的是屏幕坐标
楼上的应该是ScreenToClient,将屏幕坐标转换为窗口坐标
ClientToScreen是将窗口坐标转换为屏幕坐标
楼上的回答简直是胡扯。
我觉得你对于这几个函数的理解已经很正确了。
msdn的解释很清晰很正确,没有任何疑义,和你的理解是一致的。
呵呵,我觉得只要解释一下第一个执行为啥左上角是(0,0),你的所有疑问就没有了。
我想请问一下,你是不是在对话框初始化的时候,也就是OnInitialDlg里面执行的以上代码?我相信答案肯定是“是的”。
在对话框初始化的时候,窗口是先有可能放置在屏幕左上角,然后在这个初始化函数结束后,窗口被移动到屏幕正中。
也就是说,你在对话框初始化过程中获取窗口位置的时候,窗口确实就在左上角!
如果你想验证一下我的结论,不妨在程序中设置一个按钮,在这个按钮的消息响应中,再次执行这几句代码,然后你观察一下结果,是不是就完全符合你的预期了^_^
欢迎采纳!
以上就是关于vc 如何获取窗体的尺寸!全部的内容,包括:vc 如何获取窗体的尺寸!、求大神们用易语言写能够获取其它窗口的高度,宽度的命令。谢谢、怎样获取一个控件相对于父窗口的坐标位置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)