Compartilhar via


Processing Character Messages

Windows Mobile SupportedWindows Embedded CE Supported

9/9/2008

Quando o usuário insere um caractere, uma mensagem caractere não é gerada automaticamente; Em vez disso, uma mensagem pressionamento de tecla é gerada. Para converter uma mensagem pressionamento de tecla em um correspondente mensagem caractere, o loop de mensagem do aplicativo deve chamar a função TranslateMessage. Essa função examina o código de chave virtual de uma mensagem pressionamento de tecla e, se a codificar corresponde a um caractere, coloca uma mensagem caractere para a fila de mensagens. A mensagem caractere é removida e distribuída no próximo iteração de executar um loop de mensagem.

O executar um loop mensagem deve chamar o TranslateMessage função converter cada mensagem, não apenas mensagens pressionamento de tecla. Embora TranslateMessage não tem nenhum efeito em outros tipos de mensagens, usar essa função garante que entrada do teclado é traduzido corretamente.

Há quatro mensagens caractere: WM_CHAR WM_SYSCHAR, WM_DEADCHAR e WM_SYSDEADCHAR. Um procedimento window típica ignora todas as mensagens caractere, exceto para WM_CHAR. A mensagem WM_CHAR contém a código de caractere e os sinalizadores que fornecem dados adicionais sobre o caractere. As chaves que fazem não gerar imprimível caracteres, como qualquer uma das teclas de VK_F *, nunca irão gerar uma mensagem WM_CHAR.

Quando um procedimento janela recebe a mensagem WM_CHAR, ele deve examinar o código de caractere que acompanha a mensagem para determinar como processo o caractere. O código de caractere Consta a mensagem wParam parâmetro.

O seguinte exemplo de código mostra a estrutura procedimento janela que um aplicativo comum usa para receber e caractere processo mensagens e inclui o TranslateMessage função em um executar um loop mensagem típica para um segmento.

while (GetMessage (&msg, (HWND)NULL, 0, 0)) 
{ 
      TranslateMessage (&msg); 
      DispatchMessage (&msg); 
}

See Also

Concepts

Receiving Keyboard Input
Keys and Key Codes for Windows Mobile

Other Resources

GWES Application Development