在屏幕坐标和窗口坐标之见的转换
在你刚刚创建的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()函数来转换。
在屏幕坐标和窗口坐标之见的转换相关推荐
- 《地理坐标(经纬度坐标)和屏幕坐标(xy坐标)间的转换》的读后笔记
今天读了一下<地理坐标(经纬度坐标)和屏幕坐标(xy坐标)间的转换>,觉得内容很好,特摘录和附上自己的解释. 背景 在我们的屏幕上,有一张地图,这张地图经过缩放.平移.旋转,最终地理坐标和 ...
- WINDOWS 逻辑坐标 设备坐标 屏幕坐标 客户区坐标
WINDOWS 逻辑坐标 设备坐标 屏幕坐标 客户区坐标 收藏 设置坐标映射 (1)Windows坐标系统 Windows坐标系分为逻辑坐标系和设备坐标系两种,GDI支持这两种坐标系.一般而言, GD ...
- python获取窗口句柄_Python+selenium 获取浏览器窗口坐标、句柄的方法
1.0 获取浏览器窗口坐标 python目录可找到Webdriver.py 文件定义了get_window_rect()函数,可获取窗口的坐标和大小(长宽),但出现"Command not ...
- Window插件获取窗口坐标
本帖最后由 兄弟工程师05 于 2013-3-22 09:01 编辑 Window插件获取窗口坐标[code]Call RunApp("notepad.exe") Delay 15 ...
- 按键精灵通过句柄获取窗口坐标_按键精灵怎么获取同名窗口的句柄
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:按键精灵怎么获取同名窗口的句柄回答:命令名称: Search 遍历符合窗口 命令功能: 遍历符合窗口标题的句柄保存到数组里 命令参数 ...
- 三维坐标与平面坐标的转换(threejs)
这个是世界坐标转平面坐标 function updateScreenPosition() { if (sprite === undefined) { return false; ...
- 百度android api坐标转地址,百度API从经纬度坐标到地址的转换服务
/// /// 百度API从经纬度坐标到地址的转换服务 /// /// /// /// public string GetAddress(string lng, string lat) { strin ...
- python实现坐标点的系统转换
python实现坐标点的系统转换 arcgis本来就不怎么会,加上好长时间没有使用,居然忘了怎么导点转坐标了,没办法,正好看到这篇文章,可以用python实现坐标系统的转换.查找了相关内容,编了一小段 ...
- GetWindowRect和GetClientRect(得到窗口坐标)
GetWindowRect是取得窗口在屏幕坐标系下的RECT坐标(包括客户区和非客户区),这样可以得到窗口的大小和相对屏幕左上角(0,0)的位置. GetClientRect取得窗口客户区(不包括非客 ...
最新文章
- Go 学习笔记(2)— 安装目录、工作区、源码文件和标准命令
- transient HashMap使用目的分析
- 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示
- Android开发之设置listview分割线的颜色
- 外设驱动库开发笔记24:FM24xxx系列FRAM存储器驱动
- 【AI视野·今日CV 计算机视觉论文速览 第217期】Thu, 10 Jun 2021
- python中的ch表示什么_材料符号里面的 CH表示什么意思 : ( )
- [入门系列]什么是面向服务的体系结构(SOA)?
- DS1302+LCD1602=万年历
- bugku 杂项 部分
- “焊”卫锂电 | 昂视锂电池密封钉视觉检测应用详解
- ctype函数_Ctype函数简介
- PowerBuilder9.0窗口最小化没显示了
- java毕设项目开源了,springboot+vue的应用级erp系统
- win10重置mysql密码是多少钱_Win10重置mariadb密码步骤
- 僵尸网络瞄准Linux服务器
- linux 获取无线网卡密码错误,解决linux下外接无线网卡报错问题
- django qq邮箱发送验证码
- java频繁的读写文件_大量较为频繁读写的文件一般如何进行存储?
- Ubuntu使用笔记——Synaptic
热门文章
- 无力吐槽的 create-shortcut .exe
- 【Python】os.path.exists()的含义 及文件存在但os.path.exists()返回False的原因
- linux 应用层gpio中断_树莓派官方自带gpio中断驱动bcm2708_gpio.c原理分析 linux 中断架构 中断子系统...
- 老刘说NLP:这几年的NLP历程回顾,以及关于NLP(知识图谱等)落地的思考
- request.args.get()用法
- 循环里发送请求java_servlets – 在Java Servlet中转发请求时的无限循环
- windows查看tomcat版本信息
- 【LeetCode - 362】敲击计数器
- keep-alive和activated的使用
- Python文本特征提取 DictVectorizer CountVectorizer TfidfVectorizer 附代码详解