Compartilhar via


CWnd::OnSysKeyUp

Se o objeto de CWnd tiver o foco, a função de membro de OnSysKeyUp é chamada pela estrutura quando o usuário libera uma tecla que foi pressionada a tecla ALT foi mantido pressionado.

afx_msg void OnSysKeyUp( 
   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 OnSysKeyUp , o bit de quadro-chave transição bit (15) é 1. 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 OnSysKeyUp de janela ativa é chamada. O objeto de CWnd que recebe a chamada 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_SYSKEYUP recebida por OnSysKeyUp 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 (atalho) sejam usadas com a janela ativa se a janela ativa não tem o foco de entrada.

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.

Para não)... U. avançados 102 principais teclados, o direito da tecla ALT é tratado como a combinação de teclas de CTRL+ALT. O seguinte mostra a seqüência de chamadas e mensagens resultantes quando os pressionamentos e versões do usuário essa chave:

Seqüência

Função acessada

Mensagem passada

1.

WM_KEYDOWN

VK_CONTROL

2.

WM_KEYDOWN

VK_MENU

3.

WM_KEYUP

VK_CONTROL

4.

WM_SYSKEYUP

VK_MENU

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::OnSysKeyDown

WM_SYSKEYUP