CWnd::OnKeyDown

afx_msg void OnKeyDown( UINT nChar, UINT nRepCnt, UINT nFlags );

参数:
nChar指定了给定键的虚拟键码。
nRepCnt重复计数(用户按住键引起的重复击键数目)。
nFlags指定了扫描码、暂态键码、原来的键状态和上下文代码,如下面的列表所示:
描述
0-7扫描码(依赖于OEM的值)
8扩展键,比如功能键或数字键盘上的键(如果它是扩展键,则为1)
9-10未使用
11-12Windows内部使用
13上下文代码(如果按下键时ALT键时被按下的,则为1;否则为0)
14原来的键状态(如果在调用之前键时按下的,则为1;如果键是弹起的,则为0)
15暂态(如果键正在被释放,则为1;如果键正被按下,则为0)
对于WM_KEYDOWN消息,键暂态位(15位)为0,并且上下文代码位(13位)为0。

说明:
当用户按下了一个非系统键时,框架调用这个成员函数。非系统键是指当ALT键为被按下时按下的键盘键或者当CWnd拥有输入焦点时按下的键盘键。
由于自动重复,在调用OnKeyUp成员函数之前可能会产生多个OnKeyDown调用。指明原来的键状态的位可以被用来确定OnKeyDown调用时是第一次被按下还是重复的按下状态。
对于IBM增强101和102键键盘,增强键包括键盘主体部分的右ALT键和右CTRL键;数字键盘左侧的INS,DEL,HOME,END,PAGE UP,PAGE DOWN和箭头键;以及数字键盘上的斜杠(/)和ENTER键。一些其它的键盘可能支持nFlags中的扩展键位。
注意 框架调用这个成员函数以允许你的应用程序处理一个Windows消息。传递给你的成员函数的参数反映了接收到消息时框架接收到的参数。如果你调用了这个函数的基类实现,则该实现将使用最初传递给消息的参数(而不是你提供给这个函数的参数)。

请参阅:WM_CHAR, WM_KEYUP, WM_KEYDOWN