winuser.h

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.