标题:怎么获取右键点击位置的坐标?
只看楼主
杨帽帽
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2011-4-23
结帖率:66.67%
 问题点数:0 回复次数:3 
怎么获取右键点击位置的坐标?
case WM_RBUTTONDOWN:      
 
         x2 = GET_X_LPARAM(lParam)
         y2= GET_Y_LPARAM(lParam)

........


编译时提示GET_X_LPARAM 这个东西不认识,怎么办啊?
搜索更多相关主题的帖子: 怎么办 东西 
2011-07-09 09:47
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:0 
你没有包含对应的头文件吧
其实你也可以自己解析的,lParam印象中是一个DWORD 类型数据吧,GET_X_LPARAM()The return value is the low-order int of the specified value.

GET_X_LPARAM返回lParam的地位数据。GET_X_LPARAM()返回的就是高位数据。自己解析一下lParam数据行了。有时候也没有必要调用那些api

我行我乐
我的博客:
http://blog.yuccn. net
2011-07-10 09:31
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:0 
你定义一个函数GetLParam代替GET_X_LPARAM就行了

DWORD GetLParam(DWORD param)
{
      return (param & 0x0000FFFF);
}

DWORD GetHParam(DWORD param)
{
      return ((param & 0xFFFF0000)>>16);
}

我行我乐
我的博客:
http://blog.yuccn. net
2011-07-10 09:36
JackRap
Rank: 2
等 级:论坛游民
帖 子:14
专家分:58
注 册:2010-7-29
得分:0 
用现成的函数就可以了,不过得重新定义一下变量:
POINT pt;
……
case WM_RBUTTONDOWN:      
         pt.x=LOWORD(lParam);
         pt.y=HIWORD(lParam);
//所获得的坐标是相对于屏幕的。
         ClientToScreen(hwnd,&pt);
//转化为窗口坐标。
2011-07-11 11:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-345077-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.084545 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved