谁能讲一下C++中的函数“OnKeyDown”?
2个回答
2013-08-05
展开全部
CWnd::OnKeyDown
afx_msg void OnKeyDown( UINT nChar, UINT nRepCnt, UINT nFlags );
参数: nChar 指定了给定键的虚拟键码。
nRepCnt 重复计数(用户按住键引起的重复击键数目)。
nFlags 指定了扫描码、暂态键码、原来的键状态和上下文代码,如下面的列表所示: 值 描述
0-7 扫描码(依赖于OEM的值)
8 扩展键,比如功能键或数字键盘上的键(如果它是扩展键,则为1)
9-10 未使用
11-12 Windows内部使用
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消息。传递给你的成员函数的参数反映了接收到消息时框架接收到的参数。如果你调用了这个函数的基类实现,则该实现将使用最初传递给消息的参数(而不是你提供给这个函数的参数)。
afx_msg void OnKeyDown( UINT nChar, UINT nRepCnt, UINT nFlags );
参数: nChar 指定了给定键的虚拟键码。
nRepCnt 重复计数(用户按住键引起的重复击键数目)。
nFlags 指定了扫描码、暂态键码、原来的键状态和上下文代码,如下面的列表所示: 值 描述
0-7 扫描码(依赖于OEM的值)
8 扩展键,比如功能键或数字键盘上的键(如果它是扩展键,则为1)
9-10 未使用
11-12 Windows内部使用
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消息。传递给你的成员函数的参数反映了接收到消息时框架接收到的参数。如果你调用了这个函数的基类实现,则该实现将使用最初传递给消息的参数(而不是你提供给这个函数的参数)。
推荐于2018-04-30
展开全部
这是自已添加一个一函数,当按下相应健时会调用,至于具体功能,和你在函数里写的有关
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询