首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

GetCursorPos获取坐标值不准确,该怎么解决

2012-05-22 
GetCursorPos获取坐标值不准确NM_TREEVIEW* pNMTreeView (NM_TREEVIEW*)pNMHDRCPoint ptCRect rtGetC

GetCursorPos获取坐标值不准确
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
CPoint pt;
CRect rt;
GetCursorPos(&pt);
ScreenToClient(&pt);

为了实现点击操作Tree,我用了如上面的方法,通过得到坐标值来确定当前鼠标点中的项,可是总是捕捉不到正确的坐标值。分辨率为1920*1080的屏幕,最后一次点击时调试出现的是842,577.哪位高手知道原因吗?多谢了


[解决办法]
ScreenToClient(&pt);
这句改成:ClientToScreen试试,你可能转错了,
[解决办法]
如果不行,就不要加了ClientToScreen和ScreenToClient(&pt);

[解决办法]
// convert to client 
ScreenToClient(&pt);
// convert to tree 
MapWindowPoints((CWnd*)&LeftTree,&pt,1); // to tree
// get tree subitem text
HTREEITEM hti=LeftTree.HitTest(pt,&Flag);

热点排行