Compartilhar via


CWnd::OnSysKeyDown

Se o objeto de CWnd tem o foco de entrada, a função de membro de OnSysKeyDown é chamada pela estrutura quando o usuário mantém pressionada a tecla ALT e pressione outra tecla.

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

Parâmetros

  • nChar
    Especifica o código da tecla virtual de chave que está sendo pressionado. Para uma listagem de código chave virtuais padrão, consulte Winuser.h

  • nRepCnt
    Especifica a contagem de repetição.

  • nFlags
    Especifica o código de verificação, o código de quadro-chave transição, o estado chave anterior, e o código de contexto, conforme mostrado na lista a seguir:

    Valor

    Significado

    0–7

    Código de verificação (valor de OEM- dependente). Baixo bytes de palavras de alta-ordem.

    8

    Chave estendido, como uma tecla de função ou uma chave no teclado numérico (1 se é uma chave; estendido se não 0).

    9–10

    Não usado.

    11–12

    Usado internamente pelo windows.

    13

    Código de contexto (1 se a tecla ALT é mantido pressionado enquanto a chave é pressionada, outra maneira de 0).

    14

    Estado chave anterior (1 se a chave está pressionada antes que a mensagem é enviada, 0 se a chave está acima).

    15

    Estado de transição (1 se a chave está sendo laçada, 0 se a chave está sendo pressionado).

    Para chamadas de OnSysKeyDown , o bit de quadro-chave transição bit (15) é 0. O bit a bit de contexto código (13) é 1 se a tecla ALT está pressionada enquanto a chave está pressionada; é 0 se a mensagem é enviada para a janela ativa porque nenhuma janela tem o foco de entrada.

Comentários

Se nenhuma janela atualmente tem o foco de entrada, a função de membro de OnSysKeyDown de janela ativa é chamada. O objeto de CWnd que recebe a mensagem pode distinguir entre esses dois contextos verificando o código de contexto em nFlags.

Quando o código de contexto é 0, a mensagem de WM_SYSKEYDOWN recebida por OnSysKeyDown pode ser passada à função do windows de TranslateAccelerator , o que manipulará como se fosse uma mensagem de normal em vez de uma mensagem de sistema chave. Isso permite que as teclas de aceleração são usadas com a janela ativa se a janela ativa não tem o foco de entrada.

Devido a automática repetição, mais de uma chamada de OnSysKeyDown pode ocorrer antes que a mensagem de WM_SYSKEYUP ser recebida. O estado chave anterior bit (14) pode ser usado para determinar se a chamada de OnSysKeyDown indica que o primeiro faz a transição para baixo ou repetido abaixo de transição.

Para IBM recursos avançados 101 e 102 - teclados chave, chaves são aprimorados ALT direito e das teclas CTRL de direito na seção principal do teclado; INS o, o DEL, o HOME, a END, a PAGE UP, a PAGE DOWN, e as teclas de direção nos conjuntos à esquerda do teclado numérico; e a barra (/) e teclas ENTER no teclado numérico. Alguns outros teclados podem oferecer suporte a estender- chave mordida em nFlags.

Dica

Essa função de membro é chamada pela estrutura para permitir que seu aplicativo manipule uma mensagem do windows.Parâmetros passados à sua função refletem os parâmetros recebidos pela estrutura quando a mensagem foi colocada.Se você chamar a implementação da classe base de essa função, essa implementação usará parâmetros passados originalmente com a mensagem e não os parâmetros que você fornece para a função.

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

CWnd Class

Gráfico da hierarquia

TranslateAccelerator

CWnd::OnSysKeyUp

WM_SYSKEYDOWN