CWnd::OnSysKeyDown

如果 CWnd 对象具有输入焦点,OnSysKeyDown 成员函数由框架调用,当用户按住ALT键然后按其他键时。

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

参数

  • nChar
    指定按下的键的虚键控代码。 有关标准虚键控代码清单,请参见Winuser.h

  • nRepCnt
    指定重复次数。

  • 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

请参见

参考

CWnd 类

层次结构图

TranslateAccelerator

CWnd::OnSysKeyUp

WM_SYSKEYDOWN