CWnd::OnSysKeyDown
如果 CWnd 对象具有输入焦点,OnSysKeyDown 成员函数由框架调用,当用户按住ALT键然后按其他键时。
afx_msg void OnSysKeyDown(
UINT nChar,
UINT nRepCnt,
UINT nFlags
);
参数
nChar
指定按下的键的虚键控代码。 有关标准虚键控代码清单,请参见Winuser.hnRepCnt
指定重复次数。nFlags
指定扫描代码,键转换代码,前一个关键状态,并且,上下文代码,如下面的列表所示:值
含义
0–7
扫描代码(OEM依赖的值)。 低字节高位运行。
8
扩展键,例如一个功能键或密钥在数字键盘(1,如果它是一个扩展的项;否则0)。
9–10
未使用。
11–12
在内部使用由Windows。
13
上下文代码(1;如果ALT键最后,当按下了键时,否则0)。
14
前一个关键状态(1,如果键下降,在传输之前信息,0,如果此键已启用)。
15
转换状态(1;如果释放键,0,如果按下了键)。
为 OnSysKeyDown 调用,键转换个(位15)为0。 上下文代码个(位13)是1,则ALT键下降,当按下了键时;它是0,如果发送到活动窗口,因为windows没有输入焦点。
备注
如果窗口当前没有输入焦点,活动窗口的 OnSysKeyDown 成员函数调用。 接收消息的 CWnd 对象可以区分这两上下文之间通过检查在 nFlags的上下文代码。
在上下文代码为0时,OnSysKeyDown 接收的 WM_SYSKEYDOWN 消息传递到 TranslateAccelerator Windows函数,将处理,则象常规键消息而不是SYSTEM按键消息。 这允许快捷键用于活动窗口,即使活动窗口没有输入焦点。
由于自动重复,在 WM_SYSKEYUP) 接收消息之前,多个 OnSysKeyDown 调用会发生此错误。 前一个关键状态(位14)可用于确定 OnSysKeyDown 是否调用指示第一来转换或重复在传输下。
对于改进的IBM 101 ),需要102键盘上,增强的键是正确的ALT并正确的CTRL键键盘上的主要部分;在群集中的下INS、DEL、HOME、结果、页,页和箭头键在数字键盘左侧;和杠(/)和在数字键盘上的以下键。 某些键盘可以支持在 nFlags位的扩展键。
备注
此成员函数由框架调用提供您的应用程序处理Windows消息。当接收消息,参数传递给函数以反映结构接收的参数。如果调用此函数的基类实现,该实现将使用参数最初用消息您提供给函数而非参数。
要求
Header: afxwin.h