VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1030|回复: 8

一个鼠标消息的问题

[复制链接]

3

主题

5

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-5 15:30:01 | 显示全部楼层 |阅读模式
我想用右键的消息来触发一个ListBox的菜单, 然后选择菜单的一个项,
::PostMessage(pListBoxWnd,WM_RBUTTONDOWN,0, 0);
::PostMessage(pListBoxWnd,WM_RBUTTONUP,0, 0);
能触发ListBox的菜单,但我想鼠标移动到一个项上面点击,实现菜单的选择. 于是我加上mouse_event(MOUSEEVENTF_MOVE,10,0,0,0); 发现顺序错了,鼠标不是先触发右键,再移动,而是先移动再触发右键菜单, 怎么回事呢? 怎么顺序会错的了?怎样克服这个问题
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-6 09:30:01 | 显示全部楼层
路过
如果没记错,lParam里面有鼠标坐标的,试试改改看看
回复

使用道具 举报

0

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-6 16:42:01 | 显示全部楼层
use SendMessage
回复

使用道具 举报

0

主题

24

帖子

19.00

积分

新手上路

Rank: 1

积分
19.00
发表于 2020-1-7 19:18:01 | 显示全部楼层
都用mouse_event或SendInput得了。
回复

使用道具 举报

0

主题

5

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-9 09:54:01 | 显示全部楼层
使用PostMessage只是把消息放入消息队列中,消息并不会立刻被响应的。
你可以入3楼所说使用SendMessage代替PostMessage
也可以如4楼所说使用
   mouse_event(MOUSEEVENTF_RIGHTDOWN,0,0,0,0);//模拟按下鼠标右键。
   mouse_event(MOUSEEVENTF_RIGHTUP,0,0,0,0);//模拟放开鼠标右键。
回复

使用道具 举报

0

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-9 13:18:01 | 显示全部楼层
ListBox直接用SetCurSel不就可以设置当前选的项了么?
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-7-26 23:45:01 | 显示全部楼层
把PostMessage改成SendMessage
回复

使用道具 举报

0

主题

14

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-7-27 09:15:01 | 显示全部楼层
ls的有道理,建议试一试
回复

使用道具 举报

1

主题

15

帖子

12.00

积分

新手上路

Rank: 1

积分
12.00
发表于 2020-7-28 19:15:01 | 显示全部楼层
试试一楼的

PostMessage是不返回的,SendMessage要等到返回才继续执行的,所以先让前面的执行了再执行后一个鼠标事件
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表