MFC GetCursorPos取回的坐标有误差

buzaihuma2 2016-06-30 10:44:55
CPoint point;
GetCursorPos(&point);

就是这个简单的代码,在一台电脑上(WIN7 64位)上编译运行一切正常;
在另一台电脑上(WIN8 64位)上,总是返回比实际偏小的值,当鼠标指向屏幕右下角时,返回的是:
1417 797
但屏幕的分辨率应该是
1920X1080.

也就是说这个函数取回的坐标总是真实坐标73.8%左右,比如我鼠标停在100,100位置时就会返回74,74.

不知何解,望高手指教~
...全文
212 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pokeeeer 2016-07-01
  • 打赏
  • 举报
回复
首先确认你的DPI是不是100%, 如果DPI不是100%,需要在windows Display Setting中手动设置。 针对windows的DPI,D2D中有API可以Get,但是我没有调查到Set的API。 所以手动设置一下即可
boylafong 2016-07-01
  • 打赏
  • 举报
回复
显示属性中有个100% 150% 200%的选项,你改成100%显示就没这个问题
cang1994cang 2016-07-01
  • 打赏
  • 举报
回复
如果是放大或缩小的问题,看看这个网址,百度经验修改放大或缩小比例 http://jingyan.baidu.com/article/fea4511a4f0f1df7bb912507.html
lx624909677 2016-07-01
  • 打赏
  • 举报
回复
那屏幕左上角的坐标获取下来是多少?
buzaihuma2 2016-06-30
  • 打赏
  • 举报
回复
出现的原因似乎是因为我在WIN8的显示设置下 “放大或缩小所有项目”这个功能中设置了非默认的缩放比例。 有办法避免此选项的影响么~

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧