MFC 中GetClientRect、ClientToScreen、GetWindow、RectScreenToClient的使用
CWnd* pWnd = GetDlgItem(IDB_BUT_RECOGNIZE);
pWnd->GetClientRect(&rect); //指该控件自身客户区的矩形,原点为控件左上角,长宽为整个控件的尺寸
ClientToScreen(&rect); // 坐标原点从控件所属窗口客户区移动到屏幕左上角,长宽为整个控件的尺寸,相当于把控件放在它所属的客户区的左上角时,在屏幕坐标系中的位置
pWnd->GetWindowRect(&rect); //该控件相对电脑屏幕的坐标,,原点为屏幕左上角,长宽为整个控件的尺寸
ScreenToClient(&rect); //移动窗口时未改变,所以是相对位置,从屏幕坐标变换到客户区坐标,相当于该控件到客户区
GetClientRect(&rect); //整个窗口自身客户区的坐标 ,原点为客户区左上角,长宽为客户区的尺寸
ClientToScreen(&rect); // 坐标系从客户区变换到屏幕, 该窗口客户区在屏幕坐标系中的位置
GetWindowRect(&rect); //整个窗口相对于电脑屏幕的坐标,,原点为屏幕左上角,长宽为整个窗口的尺寸
ScreenToClient(&rect); //整个窗口在客户区坐标系下的位置
上文转自:https://blog.csdn.net/kapok_lalala/article/details/71859362
一般情况下,ClientToScreen(&rect)与GetClientRect(&rect)联合使用, 联合使用;ScreenToClient(&rect)与GetWindowRect(&rect)联合使用
MFC 中GetClientRect、ClientToScreen、GetWindow、RectScreenToClient的使用的更多相关文章
- MFC中的各种DC区别
转载自:xntop的<区别MFC中的CClientDC.CWindowDC.CPaintDC.CMetaFileDC> CClientDC及其子类 1. CClientDC类只能在客户区绘 ...
- MFC中快速应用OpenCV(转)
转载链接:http://wiki.opencv.org.cn/index.php/MFC%E4%B8%AD%E5%BF%AB%E9%80%9F%E5%BA%94%E7%94%A8OpenCV 简介和缘 ...
- 不使用CvvImage类来在MFC中显示图像
/* * ===================================================================================== * * Filen ...
- MFC中的Invalidate、OnDraw、OnPaint函数的作用
MFC中的Invalidate.OnDraw.OnPaint函数的作用 CWnd::Invalidate voidInvalidate( BOOL bErase = TRUE ); 该函数的作用是使 ...
- MFC中的一般经验之谈5
MFC中提供了CString的类,可以用在一切使用字符串的地方.可以完美取代const char* 或者 LPCTSTR(经常在WinAPI)中传递参数.并且如果需要通过空间进行字符串的数据传递DDX ...
- MFC中获取各个窗口之间的句柄或者指针对象的方法
MFC在非常多的对话框操作中,我们常常要用到在一个对话框中调用还有一个对话框的函数或变量.能够用例如以下方法来解决. HWND hWnd=::FindWindow(NULL,_T("S ...
- GDI+学习笔记(九)带插件的排序算法演示器(MFC中的GDI+实例)
带插件的排序算法演示器 请尊重本人的工作成果,转载请留言.并说明转载地址,谢谢. 地址例如以下: http://blog.csdn.net/fukainankai/article/details/27 ...
- VS2010 MFC中 窗口分割的实现
分割窗口概述 分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或者是同一类型的视图,或者是不同类型的视图. MFC分割窗口的方式有两种,动态分割和静态分割. 动态分割窗口通 ...
- VS2010 MFC中制作Visual Studio风格的停靠侧栏窗口(CDockablePane里嵌套FormView表单视图)
VS2010 MFC中制作Visual Studio风格的停靠侧栏窗口(CDockablePane里嵌套FormView表单视图) 1. 在资源窗口里新建一个FormView的Dialog,修改ID为 ...
随机推荐
- 雷林鹏分享:C# 常量
C# 常量 常量是固定值,程序执行期间不会改变.常量可以是任何基本数据类型,比如整数常量.浮点常量.字符常量或者字符串常量,还有枚举常量. 常量可以被当作常规的变量,只是它们的值在定义后不能被修改. ...
- Redis五种数据结构简介-2
https://www.cnblogs.com/ysocean/p/9102811.html
- C#特性-表达式树
表达式树ExpressionTree 表达式树基础 转载需注明出处:http://www.cnblogs.com/tianfan/ 刚接触LINQ的人往往觉得表达式树很不容易理解.通过这篇文章我希 ...
- 20170923xlVBA_UpdateClientDetailSQL_Dictionary
Sub UpdateClientDetailWGQ() Dim Wb As Workbook Dim Sht As Worksheet Dim Rng As Range Dim Arr As Vari ...
- centOS 6.5采用python+nginx+uwsgi实现爬金十财经日历
上一篇中有关于安装nginx.python.uwsgi的过程,这里不再重述.下面是有关在具体布署中的一些过程和问题处理 一.因为用到了bs4(BeautifulSoup)\paste\lxml所以这些 ...
- IDEA分享项目到GitHub出现Could not read from remote repository
如果VCS->Import into Version Control->Share Project on GitHub出现如下错误:: 重点在最后一行Could not read from ...
- vue,vux判断字符串是否是undefined
if (typeof thisObj.city === 'undefined') { return}
- 【模板/经典题型】树上第k大
直接对树dfs一发,对每个节点建出主席树. 查询的时候主席树上二分,四个参数x+y-lca(x,y)-fa[lca(x,y)]. 如果要求支持动态加边的话,只需要一个启发式合并即可,每次暴力重构主席树 ...
- selenium 简单粗暴的定位方法
- python基础之数据类型操作补充,集合及其操作,深浅拷贝
内容概要: 数据类型操作补充 集合及其操作 深浅拷贝1.基础数据类型补充 1.1字符串的操作补充li = ["李嘉诚", "麻花藤", "黄海峰&qu ...