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.hnRepCnt
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