![]() |
1
4
要获得第30位,您需要:
另一种方法是使用0-15位来获得重复计数:
只有在repeat count为0(或者可能为1;我不确定第一条消息的repeat count是0还是1,文档中也不清楚)时才能执行任何操作。 |
![]() |
2
11
要测试第30位,不要使用30位,而是使用1<<30位。
|
![]() |
3
2
按位与
当repeat标志关闭(初始按键)时,这些值的位与等于0,在释放按键之前,每个后续时间(autorepeat功能)都等于1。
这是一件小事,但它对提高代码的可读性有很大的帮助。
|
![]() |
4
0
执行lparam&30的问题在于,这里的“30”被认为是十进制的,当转换为二进制时,它将是“11110”。因此,您不是在测试位30,而是只获取lparam&11110的结果。 希望这有助于澄清问题。 |