TranslateMessage
Esta función traduce los mensajes de teclas virtuales a sus equivalentes en mensajes de carácter. Estos a su vez son reenviados a la lista de mensajes del proceso al que pertenecen, para que sean leídos la próxima vez que el proceso llame a la función GetMessage o PeekMessage.
Sintaxis
BOOL TranslateMessage( CONST MSG *lpmsg // puntero a la estructura con el mensaje );
Parámetros:
lpmsg: puntero a una estructura MSG que contiene la información sobre el mensaje tomado de la lista de mensajes del proceso mediante la función GetMessage o PeekMessage.
Valor de retorno
Si el mensaje fue traducido, es decir, si un mensaje de carácter se envió a la lista de mensajes del proceso, retorna con TRUE; en caso contrario, retorna con FALSE.
Windows NT: la función retorna con TRUE tanto para teclas de función, como teclas de flechas, teclas de caracteres o de dígitos.
Observaciones
Esta función no modifica el mensaje apuntado por el parámetro lpmsg.
Las combinaciones con los mensajes WM_KEYDOWN y WM_KEYUP producen un mensaje WM_CHAR o WM_DEADCHAR. Las combinaciones con WM_SYSKEYDOWN y WM_SYSKEYUP producen un mensaje WM_SYSCHAR o WM_SYSDEADCHAR.
Únicamente se producirán mensajes WM_CHAR para teclas que estén mapeadas a caracteres ASCII por el driver del teclado.
Las aplicaciones que procesen los mensajes de teclas virtuales para otros propósitos, no deben llamar a la función TranslateMessage. Por ejemplo, una aplicación no debería llamar a TranslateMessage si la función TranslateAccelerator retorna con TRUE.