WM_KEYDOWN和WM_CHAR都是键盘消息。TranslateMessage函数已经将按键消息转换成字符消息了,那么WndProc函数中需要对事件进行选择。如:键入“D”键,就应该选择WM_CHAR,因为WM_CHAR 只是字母,不包含特殊字符如Ctrl等。 而WM_SYSKEYDOWN是接受快捷键或系统命令按键的,像Alt键就是。所以捕获Alt键时,在WM_KEYDOWN下是无效的,要在WM_SYSKEYDOWN中。Ctrl和shift不属于WM_SYSKEYDOWN。 键盘消息的处理从PreProcessMessage方法开始,按下表所述的逻辑顺序进行。(了解这个过程或许有助于对上面三个消息的理解)
|
WM_CHAR、WM_KEYDOWN和WM_SYSKEYDOWN消息
最新推荐文章于 2023-09-29 17:45:18 发布