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的使用的更多相关文章

  1. MFC中的各种DC区别

    转载自:xntop的<区别MFC中的CClientDC.CWindowDC.CPaintDC.CMetaFileDC> CClientDC及其子类 1. CClientDC类只能在客户区绘 ...

  2. 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 简介和缘 ...

  3. 不使用CvvImage类来在MFC中显示图像

    /* * ===================================================================================== * * Filen ...

  4. MFC中的Invalidate、OnDraw、OnPaint函数的作用

    MFC中的Invalidate.OnDraw.OnPaint函数的作用 CWnd::Invalidate voidInvalidate( BOOL bErase = TRUE ); 该函数的作用是使 ...

  5. MFC中的一般经验之谈5

    MFC中提供了CString的类,可以用在一切使用字符串的地方.可以完美取代const char* 或者 LPCTSTR(经常在WinAPI)中传递参数.并且如果需要通过空间进行字符串的数据传递DDX ...

  6. MFC中获取各个窗口之间的句柄或者指针对象的方法

    MFC在非常多的对话框操作中,我们常常要用到在一个对话框中调用还有一个对话框的函数或变量.能够用例如以下方法来解决.    HWND hWnd=::FindWindow(NULL,_T("S ...

  7. GDI+学习笔记(九)带插件的排序算法演示器(MFC中的GDI+实例)

    带插件的排序算法演示器 请尊重本人的工作成果,转载请留言.并说明转载地址,谢谢. 地址例如以下: http://blog.csdn.net/fukainankai/article/details/27 ...

  8. VS2010 MFC中 窗口分割的实现

    分割窗口概述 分割窗口,顾名思义,就是将一个窗口分割成多个窗格,在每个窗格中都包含有视图,或者是同一类型的视图,或者是不同类型的视图. MFC分割窗口的方式有两种,动态分割和静态分割. 动态分割窗口通 ...

  9. VS2010 MFC中制作Visual Studio风格的停靠侧栏窗口(CDockablePane里嵌套FormView表单视图)

    VS2010 MFC中制作Visual Studio风格的停靠侧栏窗口(CDockablePane里嵌套FormView表单视图) 1. 在资源窗口里新建一个FormView的Dialog,修改ID为 ...

随机推荐

  1. 雷林鹏分享:C# 常量

    C# 常量 常量是固定值,程序执行期间不会改变.常量可以是任何基本数据类型,比如整数常量.浮点常量.字符常量或者字符串常量,还有枚举常量. 常量可以被当作常规的变量,只是它们的值在定义后不能被修改. ...

  2. Redis五种数据结构简介-2

    https://www.cnblogs.com/ysocean/p/9102811.html

  3. C#特性-表达式树

    表达式树ExpressionTree   表达式树基础 转载需注明出处:http://www.cnblogs.com/tianfan/ 刚接触LINQ的人往往觉得表达式树很不容易理解.通过这篇文章我希 ...

  4. 20170923xlVBA_UpdateClientDetailSQL_Dictionary

    Sub UpdateClientDetailWGQ() Dim Wb As Workbook Dim Sht As Worksheet Dim Rng As Range Dim Arr As Vari ...

  5. centOS 6.5采用python+nginx+uwsgi实现爬金十财经日历

    上一篇中有关于安装nginx.python.uwsgi的过程,这里不再重述.下面是有关在具体布署中的一些过程和问题处理 一.因为用到了bs4(BeautifulSoup)\paste\lxml所以这些 ...

  6. IDEA分享项目到GitHub出现Could not read from remote repository

    如果VCS->Import into Version Control->Share Project on GitHub出现如下错误:: 重点在最后一行Could not read from ...

  7. vue,vux判断字符串是否是undefined

    if (typeof thisObj.city === 'undefined') { return}

  8. 【模板/经典题型】树上第k大

    直接对树dfs一发,对每个节点建出主席树. 查询的时候主席树上二分,四个参数x+y-lca(x,y)-fa[lca(x,y)]. 如果要求支持动态加边的话,只需要一个启发式合并即可,每次暴力重构主席树 ...

  9. selenium 简单粗暴的定位方法

  10. python基础之数据类型操作补充,集合及其操作,深浅拷贝

    内容概要: 数据类型操作补充 集合及其操作 深浅拷贝1.基础数据类型补充 1.1字符串的操作补充li = ["李嘉诚", "麻花藤", "黄海峰&qu ...