Mensaje WM_SYSCHAR
Definición
WM_SYSCHAR chCharCode = (TCHAR) wParam; // código de carácter lKeyData = lParam; // dato de la tecla
El mensaje WM_SYSCHAR se envía (post) a la ventana con el foco del teclado cuando un mensaje WM_SYSKEYDOWN es traducido por la función TranslateMessage. Especifica el código de carácter de una tecla de carácter de sistema, es decir, una tecla de carácter que se presiona mientras la tecla Alt está pulsada.
Descripción
chCharCode: valor de wParam. Especifica el código de carácter de la tecla de menú de ventana.
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
Cuando el código de contexto es cero, el mensaje puede ser pasado a la función TranslateAccelerator, que la manejará como si fuese un mensaje de tecla estándar en lugar de un mensaje de tecla-carácter de sistema. Esto permite usar teclas aceleradoras con la ventana activa aunque la ventana activa no tenga el foco del teclado.
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 las teclas PRINT SCRN, BREAK, NUMLOCK y la de dividir (/) y ENTER del teclado nuérico. Otros teclados pueden soportar el bit de tecla extendida en el parámetro lKeyData.