PreTranslateMessage键盘消息

jaynaviee 2012-07-02 12:27:06
例如:按下1键,提示MessageBox(“1”);
按下ctrl+1+0,提示MessageBox(“10”);
按下ctrl+1+1,提示MessageBox(“11”);

。。。。。
如何实现!????

...全文
191 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jaynaviee 2012-07-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

如果想使用PreTranslateMessage完成复合按键的功能,你只能对获取的键值自行进行处理,因为,此消息返回的是单键消息而非复合键消息。
你想使用此方法可用定义热键的方法。RegisterHotKey()
[/Quote]

用PreTranslateMessage如何实现?????
jianshang_xs 2012-07-03
  • 打赏
  • 举报
回复
可以使用HOOK钩子
jaynaviee 2012-07-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

引用 6 楼 的回复:
我要做的是,按住ctrl保持按下状态,在按下1保持按下状态,在按其它1、2、3、4。。。。。。键
分别提示11、12、13、14。。。。。。
是三个键的组合

问题是你按住1不放了以后怎么来判断再次按下1?
[/Quote]
不是有个小键盘吗
左边上面不是也有数字键吗
anmychen2001 2012-07-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
我要做的是,按住ctrl保持按下状态,在按下1保持按下状态,在按其它1、2、3、4。。。。。。键
分别提示11、12、13、14。。。。。。
是三个键的组合
[/Quote]
问题是你按住1不放了以后怎么来判断再次按下1?
笨笨仔 2012-07-03
  • 打赏
  • 举报
回复
如果想使用PreTranslateMessage完成复合按键的功能,你只能对获取的键值自行进行处理,因为,此消息返回的是单键消息而非复合键消息。
你想使用此方法可用定义热键的方法。RegisterHotKey()
jaynaviee 2012-07-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

我理解的是按下Ctrl并保持按下状态后,依次按下数字键,如果不是的话请楼主标明+的注解
[/Quote]

我要做的是,按住ctrl保持按下状态,在按下1保持按下状态,在按其它1、2、3、4。。。。。。键
分别提示11、12、13、14。。。。。。
是三个键的组合
anmychen2001 2012-07-02
  • 打赏
  • 举报
回复
第一个很简单,第2个当ctrl DOWN的时候标记,UP的时候判断
anmychen2001 2012-07-02
  • 打赏
  • 举报
回复
if(pMsg->message == WM_KEYDOWN || pMsg->message == WM_KEYUP)
{
...
}
anmychen2001 2012-07-02
  • 打赏
  • 举报
回复
我理解的是按下Ctrl并保持按下状态后,依次按下数字键,如果不是的话请楼主标明+的注解
anmychen2001 2012-07-02
  • 打赏
  • 举报
回复
按下ctrl+1+1,提示MessageBox(“11”)能告诉如何同时按吗?
jaynaviee 2012-07-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

第一个很简单,第2个当ctrl DOWN的时候标记,UP的时候判断
[/Quote]

要三个键组合在一起啊!!!!

15,979

社区成员

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

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