MFC 如何判断 连续敲击了某键 就如双击鼠标一样 如何判断双击了“A”键呢
展开全部
在响应字符的消息处理函数中,有个参数叫nflags,他的第0-15位表示按键的重复次数。可以以此来判断。有什么不明白的可以交流下。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.mfc的键盘事件
2.至于算不算双击,要由你决定,比如我打bbs,2个b字符输入很快的,算双击?还是算2次输入?
2.至于算不算双击,要由你决定,比如我打bbs,2个b字符输入很快的,算双击?还是算2次输入?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按键消息:分为两类,系统按键消息和非系统按键消息,每一类又分为键按下和键放开两种
非系统键WM_KEYDOWN、WM_KEYUP
系统键WM_SYSKEYDOWN、WM_SYSKEYUP
对所有的按键消息:wParam是虚拟键码,表示按下或释放的键,而lParam则包含属于按键的其它数据
lParam共32位,分为6个字段:
0~15位:重复计数
16~23位:OEM扫描码
24位:扩充键旗标,通常忽略
29位:内容代码,如果同时压下ALT键,那么内容代码为1
30位:键的先前状态,如果在此之前键是按下的,则键的先前状态为1,否则为0。
31位:转换状态,如果键正被释放,则转换状态为1;如果键正被按下,则转换状态为0
只要判断lParam的第30位为1,说明连续敲击了某键
非系统键WM_KEYDOWN、WM_KEYUP
系统键WM_SYSKEYDOWN、WM_SYSKEYUP
对所有的按键消息:wParam是虚拟键码,表示按下或释放的键,而lParam则包含属于按键的其它数据
lParam共32位,分为6个字段:
0~15位:重复计数
16~23位:OEM扫描码
24位:扩充键旗标,通常忽略
29位:内容代码,如果同时压下ALT键,那么内容代码为1
30位:键的先前状态,如果在此之前键是按下的,则键的先前状态为1,否则为0。
31位:转换状态,如果键正被释放,则转换状态为1;如果键正被按下,则转换状态为0
只要判断lParam的第30位为1,说明连续敲击了某键
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询