在你刚刚创建的OnMouseMove()处理程序中,MFC使用名为CPoint 的MFC 类,将鼠标指针坐标传递到处理函数中。CPoint类型的对象一般被用语描述屏幕上的一个点。访问的CPoint::x 和 CPoint::y 包含该对象所表示的实际点的x和y坐标。

如果在MM_TEXT映射模式下是象素(最小单位)。

有时候我希望了解鼠标坐标相对于整个屏幕的值。已经提供了一个名为ClientToSCreen()的比较便捷的转换成员函数。它将CPoint 类或CRect对象做为参数。它将CPoint类和CRect类做为参数,将类中的值从客户窗口值转换为屏幕值;

例如,窗口可能被放置相对与系统(也就是显示屏幕)左上角的位置为(50,75),而从CPoint 类中传递回来的值是(15,25),也就是从OnMouseMove()这个函数传递回来的值。通过使用ClientToScreen()函数将窗口的偏移量添加到窗口的位置上,这些值被转换为实际的屏幕值了。在这种情况下,屏幕坐标也就变成了(65,100)。

如果大家想要实践一下的话。一下是一段小小的代码;

CWnd *pWnd = GetDlgItem(IDC_COORD);
   // Calculate the effective area of the mouse movement
   pWnd->GetClientRect(m_MouseRect);
   pWnd->ClientToScreen(&m_MouseRect);

另一中选择就是从屏幕坐标转换到客户坐标。可以借助 Windows API函数GetCursorPos()来获取鼠标坐标。然后在调用ScreenToClient()函数来转换。

在屏幕坐标和窗口坐标之见的转换相关推荐

  1. 《地理坐标(经纬度坐标)和屏幕坐标(xy坐标)间的转换》的读后笔记

    今天读了一下<地理坐标(经纬度坐标)和屏幕坐标(xy坐标)间的转换>,觉得内容很好,特摘录和附上自己的解释. 背景 在我们的屏幕上,有一张地图,这张地图经过缩放.平移.旋转,最终地理坐标和 ...

  2. WINDOWS 逻辑坐标 设备坐标 屏幕坐标 客户区坐标

    WINDOWS 逻辑坐标 设备坐标 屏幕坐标 客户区坐标 收藏 设置坐标映射 (1)Windows坐标系统 Windows坐标系分为逻辑坐标系和设备坐标系两种,GDI支持这两种坐标系.一般而言, GD ...

  3. python获取窗口句柄_Python+selenium 获取浏览器窗口坐标、句柄的方法

    1.0 获取浏览器窗口坐标 python目录可找到Webdriver.py 文件定义了get_window_rect()函数,可获取窗口的坐标和大小(长宽),但出现"Command not ...

  4. Window插件获取窗口坐标

    本帖最后由 兄弟工程师05 于 2013-3-22 09:01 编辑 Window插件获取窗口坐标[code]Call RunApp("notepad.exe") Delay 15 ...

  5. 按键精灵通过句柄获取窗口坐标_按键精灵怎么获取同名窗口的句柄

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:按键精灵怎么获取同名窗口的句柄回答:命令名称: Search 遍历符合窗口 命令功能: 遍历符合窗口标题的句柄保存到数组里 命令参数 ...

  6. 三维坐标与平面坐标的转换(threejs)

    这个是世界坐标转平面坐标 function updateScreenPosition() {     if (sprite === undefined) {         return false; ...

  7. 百度android api坐标转地址,百度API从经纬度坐标到地址的转换服务

    /// /// 百度API从经纬度坐标到地址的转换服务 /// /// /// /// public string GetAddress(string lng, string lat) { strin ...

  8. python实现坐标点的系统转换

    python实现坐标点的系统转换 arcgis本来就不怎么会,加上好长时间没有使用,居然忘了怎么导点转坐标了,没办法,正好看到这篇文章,可以用python实现坐标系统的转换.查找了相关内容,编了一小段 ...

  9. GetWindowRect和GetClientRect(得到窗口坐标)

    GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置. GetClientRect取得窗口客户区(不包括非客 ...

最新文章

  1. Go 学习笔记(2)— 安装目录、工作区、源码文件和标准命令
  2. transient HashMap使用目的分析
  3. 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
  4. Android开发之设置listview分割线的颜色
  5. 外设驱动库开发笔记24:FM24xxx系列FRAM存储器驱动
  6. 【AI视野·今日CV 计算机视觉论文速览 第217期】Thu, 10 Jun 2021
  7. python中的ch表示什么_材料符号里面的 CH表示什么意思 : ( )
  8. [入门系列]什么是面向服务的体系结构(SOA)?
  9. DS1302+LCD1602=万年历
  10. bugku 杂项 部分
  11. “焊”卫锂电 | 昂视锂电池密封钉视觉检测应用详解
  12. ctype函数_Ctype函数简介
  13. PowerBuilder9.0窗口最小化没显示了
  14. java毕设项目开源了,springboot+vue的应用级erp系统
  15. win10重置mysql密码是多少钱_Win10重置mariadb密码步骤
  16. 僵尸网络瞄准Linux服务器
  17. linux 获取无线网卡密码错误,解决linux下外接无线网卡报错问题
  18. django qq邮箱发送验证码
  19. java频繁的读写文件_大量较为频繁读写的文件一般如何进行存储?
  20. Ubuntu使用笔记——Synaptic

热门文章

  1. 无力吐槽的 create-shortcut .exe
  2. 【Python】os.path.exists()的含义 及文件存在但os.path.exists()返回False的原因
  3. linux 应用层gpio中断_树莓派官方自带gpio中断驱动bcm2708_gpio.c原理分析 linux 中断架构 中断子系统...
  4. 老刘说NLP:这几年的NLP历程回顾,以及关于NLP(知识图谱等)落地的思考
  5. request.args.get()用法
  6. 循环里发送请求java_servlets – 在Java Servlet中转发请求时的无限循环
  7. windows查看tomcat版本信息
  8. 【LeetCode - 362】敲击计数器
  9. keep-alive和activated的使用
  10. Python文本特征提取 DictVectorizer CountVectorizer TfidfVectorizer 附代码详解