您当前的位置: 百科371电脑/网络VC++ → 电脑/网络内容 退出登录 用户管理 用户注册
本类热门文章
相关文章
中原建材网
KEYDOWN 只响应一次

减小字体 增大字体

问题:限win32api下C++,或者使用directinput原因: 在消息回调函数中使用case WM_KEYDOWN: switch.....虽然可以响应键盘消息,但是一直按住会导致多次响应问题:如何使按下键的时候只响应一次,并且在多个键一起按下弹起时也可以正确响应消息(如: 按下A,按下D,弹起A,弹起D,应是4次响应)回答要求:一份可以顺利编译并执行的代码,我积分不是很多了,见谅  

楼主,我没时间写代码,但我可以给你一个思路.你要是觉得正确,就给分吧哈哈.
建立一个标志keydown和keyup状态结构体成员的数组,里面包含了你想要监视的KEY值,如果某个KEY按下了,就把它的keydown状态置真;KEY松开置假;在switch的处理分支当中,检测这个状态值如果为真,就说明这个键被长按了,跳过;否则进入处理过程.

如果你对限win32api下C++,或者使用directinput原因: 在消息回调函数中使用case WM_KEYDOWN: switch.....虽然可以响应键盘消息,但是一直按住会导致多次响应问题:如何使按下键的时候只响应一次,并且在多个键一起按下弹起时也可以正确响应消息(如: 按下A,按下D,弹起A,弹起D,应是4次响应)回答要求:一份可以顺利编译并执行的代码,我积分不是很多了,见谅这个问题有好的意见或 建议,请留言
[] [返回上一页] [打 印]
电脑/网络评论 (评论内容只代表网友观点,与本站立场无关!)

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容:

         (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

中原建材网 简单版 站长QQ:382546553