Traduzir mensagens caractere

Qualquer segmento que recebe entrada de caracteres do usuário deve incluir a TranslateMessage função em seu loop de mensagem. Essa função examina o virtual-código de chave de uma mensagem pressionamento de tecla e, se o código corresponde a um caractere, coloca uma mensagem caractere no fila de mensagens. A mensagem caractere é removida e distribuída na próxima iteração do loop de mensagem; o wParam parâmetro da mensagem contém o código do caractere.

Em geral, loop de mensagem do thread deve usar a TranslateMessage função converter cada mensagem, não apenas virtual-chave mensagens. Embora TranslateMessage não tem efeito sobre outros tipos de mensagens, ela garante que entrada do teclado é traduzida corretamente. O exemplo a seguir mostra como incluir a TranslateMessage função em um loop de mensagem do thread típico.

ao mesmo tempo (GetMessage (amp; msg, (HWND) NULL, 0, 0)) {se (TranslateAccelerator (hwndMain, haccl, & msg) = = 0) {TranslateMessage(&msg); 
        DispatchMessage(&msg); 
    } 
} 

 

Index