为什么我们有两条消息WM_KEYUP和WM_KEYDOWN

时间:2014-10-07 15:09:29

标签: c++ windows visual-c++ mfc keyboard

我刚刚开始使用MFC编程,并且之前没有进行任何UI设计或编程。我想知道为什么有一个消息WM_KEYUP和WM_KEYDOWN由Windows生成,当每个被按下的键被假定为一个工作键盘被释放时。

我认为只有一条消息WM_KEYPRESSED或其他东西应该足够了,但是有一个原因导致Windows生成单独的消息

由于

2 个答案:

答案 0 :(得分:1)

这样您就可以实现修改键,例如shift和control。 对于大多数密钥,您可以忽略WM_KEYUP,但如果密钥在 问题是应该修改按下时按下的任何键 你需要两个。

答案 1 :(得分:0)

我过去常问过同样的问题,但答案很简单。这些只是两个独立的事件,Windows为您提供了响应的机会。 KEY_DOWN或KEY_UP没有什么特别之处,两者都只是事件。处理KEY_DOWN对于大多数需求通常更有意义,但确定WM_KEYUP有很多用途。 Windows生成的消息还有很多,通常是程序员无法处理的。