Mensaje WM_KEYUP
Definición
WM_KEYUP nVirtKey = (int) wParam; // código de tecla virtual lKeyData = lParam; // dato de tecla
El mensaje WM_KEYUP es enviado a la ventana que tiene el foco del teclado cuando se libera una tecla que no es de sistema. Una tecla no es de sistema cuando fue pulsada y la tecla ALT no lo estaba o la tecla fue presionada cuando la ventana no tenía el foco del teclado.
Descripción
nVirtKey: valor del parámetro wParam. Indica el código de la tecla virtual que no sea de sistema.
lKeyData: valor del parámetro 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.
Acción por defecto
La función DefWindowProc envía un mensaje WM_SYSCOMMAND a la ventana de mayor nivel si la tecla F10 o la tecla ALT fueron liberadas. Como parámetro wParam del mensaje se usa el valor SC_KEYMENU.
Observaciones
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.