Sinalizadores de mensagens pressionamento de tecla

O lParam parâmetro de uma mensagem pressionamento de tecla contém informações adicionais sobre o pressionamento de tecla que gerou a mensagem. Esta informação inclui a contagem de repetição, a codificar digitalizar, pavilhão estendido-chave, o código de contexto, o sinalizador de estado chave anterior e o sinalizador de estado de transição. A ilustração a seguir mostra os locais nestes valores e sinalizadores in a lParam parâmetro.

Um aplicativo pode usar os seguintes valores para manipular os sinalizadores de pressionamento de tecla.

Valor Significado
KF_ALTDOWN Manipula o sinalizador alt chave, que indicado se a tecla alt é pressionada.
KF_DLGMODE Manipula o Sinalizar de modo de diálogo, que indica se uma caixa de diálogo está ativa.
KF_EXTENDED Manipula o sinalizador chave estendido.
KF_MENUMODE Manipula o Sinalizar de modo menu, que indica se um menu está ativo.
KF_REPEAT Manipula a contagem de repetição.
KF_UP Manipula o Sinalizar de estado de transição.

Contagem de repetição

Você pode verificar a contagem de repetição para determinar se uma mensagem pressionamento de tecla representa mais do que um pressionamento de tecla. O sistema incrementa a contar de quando o teclado gera WM_KEYDOWN ou WM_SYSKEYDOWN mensagens mais rapidamente do que um aplicativo pode processá-los. Isso ocorre geralmente quando o usuário mantém pressionada uma chave longa o suficiente para iniciar o recurso de repetição automática do teclado. Em vez de encher a fila de mensagem do sistema com as mensagens resultantes da tecla-para baixo, o sistema combina as mensagens em uma única chave para baixo mensagem e incrementa a contagem de repetição. Liberar uma tecla não é possível iniciar o recurso de repetição automática, assim que a contagem de repetição de mensagens WM_KEYUP e WM_SYSKEYUP é sempre definida como 1.

Código de verificação

A codificar digitalizar é o valor que o hardware de teclado gera quando o usuário pressiona uma chave. É um dispositivo-dependente valor que identifica a tecla pressionada, ao contrário do caractere representado pela chave. Um aplicativo normalmente ignora os códigos de verificação. Em vez disso, ele usa os independente do dispositivo virtual-chave códigos para interpretar mensagens pressionamento de tecla.

Estendido-chave sinalizador

O estendido-chave indica se a mensagem de pressionamento de tecla originou uma das teclas adicionais do teclado aprimorada. As teclas estendidas consistem as teclas alt e ctrl do lado direito do teclado; o ins, del, casa, end, page up, page down e seta chaves nos clusters à esquerda do teclado numérico; num bloqueio chave; a chave de interrupção (ctrl + pausa); a chave imprimir scrn; e a divisão (/) e digite teclas no teclado numérico. O estendido-chave sinalizador é definido se a chave for uma chave estendida.

Código de contexto

O código de contexto indica se o alt chave foi pressionada quando a mensagem pressionamento de tecla foi gerada. O código é 1 se o alt chave foi pressionada e 0 se ele foi até.

Bandeira de estado chave anterior

O sinalizador de estado chave anterior indica se a chave que gerou a mensagem de pressionamento de tecla foi anteriormente para cima ou para baixo. É 1 se a chave foi anteriormente para baixo e 0 se a chave foi anteriormente acima. Você pode usar esse sinalizador para identificar a pressionamento de tecla mensagens geradas pelo recurso de repetição automática do teclado. Este sinalizador é definido como 1 para pressionamento de tecla WM_KEYDOWN e WM_SYSKEYDOWN mensagens geradas pelo recurso de repetição automático. Ele é sempre definido como 0 para mensagens WM_KEYUP e WM_SYSKEYUP.

Bandeira do Estado de transição

O sinalizador de estado de transição indica se premindo uma tecla ou liberar uma chave gerada a mensagem pressionamento de tecla. Este sinalizador é sempre definido como 0 para WM_KEYDOWN e WM_SYSKEYDOWN mensagens; Ele é sempre definido como 1 nas mensagens WM_KEYUP e WM_SYSKEYUP.

Index