如何获取鼠标点击的坐标

haohui321 2012-11-05 10:13:32
想获取鼠标在当前软件窗口点击的相对坐标。

因为想在菜单栏添加单击事件,但是菜单貌似只有子菜单可以添加事件。
所以想获取鼠标点击的坐标 做相应的处理。)

处理OnLButtonDown可以获得鼠标点击坐标 但是不能获取 菜单栏 标题栏等地方的坐标。
...全文
374 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chayedanwc 2012-11-06
  • 打赏
  • 举报
回复
你的设计初衷是想在按下鼠标左键后获得鼠标位置。 问题的根本原因并不是鼠标位置不好获取(获取鼠标位置很容易),而是菜单标题栏无法响应LButtonDown消息事件,导致无法得知何时来获取这个坐标。 局部钩子HOOK鼠标LButtonDown获取坐标。
傻X 2012-11-06
  • 打赏
  • 举报
回复
楼上几位都讲的比较全了。 注意screentoclient和clienttoScreen的转换。菜单弹出是需要屏幕坐标的。
great_kevin 2012-11-06
  • 打赏
  • 举报
回复
GetCursorPos获取绝对坐标,screentoclient()转换为需要的相对坐标!
lang14 2012-11-06
  • 打赏
  • 举报
回复
引用 5 楼 haohui321 的回复:
引用 4 楼 lang14 的回复: WM_NCLBUTTONDOWN 有NC的消息表示非客户区的 用这个可以获取相对桌面的坐标 请问如何获取相对于窗口的坐标呢
screentoclient()
haohui321 2012-11-05
  • 打赏
  • 举报
回复
引用 4 楼 lang14 的回复:
WM_NCLBUTTONDOWN 有NC的消息表示非客户区的
用这个可以获取相对桌面的坐标 请问如何获取相对于窗口的坐标呢
lang14 2012-11-05
  • 打赏
  • 举报
回复
WM_NCLBUTTONDOWN 有NC的消息表示非客户区的
菜头叔 2012-11-05
  • 打赏
  • 举报
回复
在定时器或线程里 一直获取鼠标坐标(GetCursorPos)和窗口所在位置 如果鼠标在窗口内且发生了点击事件 do something
haohui321 2012-11-05
  • 打赏
  • 举报
回复
引用 1 楼 mydo 的回复:
WIN32中鼠标点击消息结构中有点击时的x y坐标值
但是那个如果点击的是菜单栏和标题栏 消息就不响应了啊
大熊猫侯佩 2012-11-05
  • 打赏
  • 举报
回复
WIN32中鼠标点击消息结构中有点击时的x y坐标值

15,979

社区成员

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

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