当前位置: 代码迷 >> VC >> GetCursorPos(&pt); 为什么取得屏幕坐标不正确解决方法
  详细解决方案

GetCursorPos(&pt); 为什么取得屏幕坐标不正确解决方法

热度:8445   发布时间:2013-02-25 00:00:00.0
GetCursorPos(&pt); 为什么取得屏幕坐标不正确

GetCursorPos(&pt);
pt=GetCurrentMessage()->pt;

监视时发现:

使用 GetCursorPos(&pt); pt为:x=344 y=232

使用 pt= GetCurrentMessage()->pt; 结果为:x=16 y=80 。。。。。 此结果为正确结果

那为什么GetCursorPos(&pt); 不能获得正确的屏幕坐标呢





------解决方案--------------------------------------------------------
检查下调用的设备上下问环境,应该有关系的.
------解决方案--------------------------------------------------------
用GetWindowRect应该可以吧!
------解决方案--------------------------------------------------------
那是因为GetCurPos获取的是屏幕坐标,你想用的是窗口坐标。

你可以这样:
C/C++ code
  POINT pt;  GetCurPos( &pt );  ScreenToClient( hYourWindowHandle, &pt );
  相关解决方案