怎么判断一个按键按下后是否松开?

lijiantao922 2010-10-12 03:35:36
除了在消息函数中用WM_XXX判断还有其他方法吗?
我想实现用键盘上的箭头键控制菜单选择,
if(GetAsyncKeyState(VK_DOWN))
代表第几个菜单的变量就加1,代表下一个菜单项,

但是结果要非常快速的点一下向下箭头才会正常,如果按住向下箭头键不放的话,
代表第几个菜单的变量就一直加。。所以如果点时间稍微长一点。。就会往下连跳
几个菜单。。。

明不明白我的意思啊?这样要怎么办啊?我想判断一个键按下然后松开,代表第几个菜单的变量才加1,这样就不会
出现上述情况了,但是具体要怎么办呢?
或者还有没有其他办法判断呢?
...全文
753 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
manytao 2010-10-12
  • 打赏
  • 举报
回复
你就用 getch 吧,比如你按下 'A' 不松手,其实相当于输入了一串 A,每读到一个 A 你就执行相应移动动作即可。
可以参考一下这个:
http://tieba.baidu.com/f?kz=778064473
lijiantao922 2010-10-12
  • 打赏
  • 举报
回复
具体怎么做呢?1楼的除了消息之外,没有其他用函数实现的办法吗?
petewong 2010-10-12
  • 打赏
  • 举报
回复
用一个标志变量 判断按下或弹起 并置位
飛雪一刀 2010-10-12
  • 打赏
  • 举报
回复
假如是左键按下去的,如果收到了WM_LBUTTONUP消息,就说明抬起了啊

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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