怎么判断按键当前是否处于长按按键状态

8174 人浏览 | 时间: 2016-01-06 23:32:02 | 作者: codexia 会员文章,禁止转载

发现一个程序员专属的导航网站,你肯定不知道,是时候告诉你了,请前去看看吧

    我们在实现长按删除全部字符的时候,实现了长按的功能,你可以阅读《win32长按退格键删除全部文字的功能实现》。然而,如果我们要想知道当前得到的WM_KEYDOWN消息是不是还是长按按键产生的,只通过检测重复计数是不准确的。因为当重复计数的消息被处理之后,重复计数就为1了,就无法判断是否是长按的情况。还有一种情况,如果重复速度比较慢,而我们程序处理的很快,即使我们是长按按键的状态,也无法完成长按按键删除的功能。
    以上的情况确实存在的。之前我实现长按删除效果,是使用了延迟。假如你的程序本来就处理的很快,无法累计重复计数,也就无法完成长按删除的效果了。
    所以,我们通过键的先前状态就可以来判定了,不用依赖于重复计数了。

    下面是使用测试代码的运行截图:

开通会员付1C币>>阅读全文
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0