Mensaje WM_CHAR
Definición
WM_CHAR chCharCode = (TCHAR) wParam; // código de carácter lKeyData = lParam; // dato de la tecla
El mensaje WM_CHAR se envía a la ventana con el foco del teclado cuando un mensaje WM_KEYDOWN es traducido por la función TranslateMessage. WM_CHAR contiene el código del carácter de la tecla pulsada.
Descripción
chCharCode: valor de wParam. Especifica el código de carácter de la tecla.
lKeyData: valor de lParam. Especifica el contador de repetición, código de escaneo, la bandera de teclado extendido, código de entorno, bandera de estado previo de la tecla y bandera de estado de transición, se trata de un campo de bits como se muestra en la siguiente tabla:
Valor | Descripción |
---|---|
0~15 | Indica el contador de repetición. El valor es el número de veces que se repite una tecla como resultado de haber dejado pulsada una tecla. |
16~23 | Indica el código de escaneo. Depende del fabricante y modelo del equipo. |
24 | Indica si la tecla es una tecla extendida, como la tecla derecha de ALT y CTRL que aparece en el teclado mejorado de 101 o 102 teclas. El valor es uno si es una tecla extendida y cero si no lo es. |
25~28 | Reservado, no usar. |
29 | Indica el código de contexto. El valor es 1 si la tecla ALT estaba pulsada mientras la tecla fue pulsada; en caso contrario es 0. |
30 | Indica el estado previo de la tecla. El valor es 1 si la tecla estaba pulsada antes de que fuera enviado el mensaje y 0 si no lo estaba. |
31 | Indica el estado de transición. El valor es 1 si la tecla fue liberada o 0 si permanece pulsada. |
Valor de retorno
La aplicación debe retornar cero si procesó este mensaje.
Observaciones
Puesto que no es necesario que exista una correspondencia uno a uno entre las teclas pulsadas y los mensaje de carácter generados, la información en la palabra alta del parámetro lKeyData normalmente no es útil para las aplicaciones. Esta información se aplica sólo al mensaje WM_KEYDOWN que precede al mensaje WM_CHAR más recientemente enviado.
Para teclados mejorados de 101 y 102 teclas, las teclas extendidas son el ALT y el CTRL derechos en la sección principal del teclado y las teclas INS, DEL, HOME, END, PAGE UP, PAGE DOWN y las teclas de flechas en el grupo de teclas a la izquierda del teclado numérico; también la tecla de dividir (/) y ENTER del teclado numérico. Algunos otros teclados pueden soportar el bit de tecla extendida en el parámetro lKeyData.