winuser.h

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.