Compartir a través de


mensaje de WM_XBUTTONUP

Publicado cuando el usuario libera XBUTTON1 o XBUTTON2 mientras el cursor está en el área cliente de una ventana. Si el mouse no se captura, el mensaje se publica en la ventana debajo del cursor. De lo contrario, el mensaje se publica en la ventana que ha capturado el mouse.

Una ventana recibe este mensaje a través de su función windowProc .

#define WM_XBUTTONUP                    0x020C

Parámetros

wParam

La palabra de orden bajo indica si varias claves virtuales están inactivas. Puede ser uno o varios de los siguientes valores.

Valor Significado
MK_CONTROL
0x0008
La tecla CTRL está presionada.
MK_LBUTTON
0x0001
El botón izquierdo del mouse está inactivo.
MK_MBUTTON
0x0010
El botón central del mouse está inactivo.
MK_RBUTTON
0x0002
El botón derecho del mouse está inactivo.
MK_SHIFT
0x0004
La tecla MAYÚS está inactiva.
MK_XBUTTON1
0x0020
El XBUTTON1 está inactivo.
MK_XBUTTON2
0x0040
El XBUTTON2 está inactivo.

La palabra de orden superior indica qué botón se ha liberado. Puede ser uno de los siguientes valores:

Valor Significado
XBUTTON1
0x0001
Se lanzó el XBUTTON1.
XBUTTON2
0x0002
El XBUTTON2 fue lanzado.

lParam

La palabra de orden bajo especifica la coordenada x del cursor. La coordenada es relativa a la esquina superior izquierda del área de cliente.

La palabra de orden superior especifica la coordenada y del cursor. La coordenada es relativa a la esquina superior izquierda del área de cliente.

Valor devuelto

Si una aplicación procesa este mensaje, debe devolver TRUE. Para obtener más información sobre cómo procesar el valor devuelto, vea la sección Comentarios.

Observaciones

Windows admite ratones con hasta cinco botones: izquierdo, central y derecho, además de dos botones adicionales llamados XBUTTON1 y XBUTTON2. Los botones XBUTTON1 y XBUTTON2 se encuentran a menudo en los lados del mouse, cerca de la base. Estos botones adicionales no están presentes en todos los ratones. Si está presente, los botones XBUTTON1 y XBUTTON2 a menudo se asignan a una función de aplicación, como la navegación hacia delante y hacia atrás en un explorador web.

Use el código siguiente para obtener la información del parámetro wParam:

fwKeys = GET_KEYSTATE_WPARAM (wParam); 
fwButton = GET_XBUTTON_WPARAM (wParam); 

Use el código siguiente para obtener la posición horizontal y vertical:

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam); 

Como se indicó anteriormente, la coordenada x está en el orden bajo corto del valor devuelto; la coordenada y está en el corto de orden superior (ambos representan valores de firmados porque pueden tomar valores negativos en sistemas con varios monitores). Si el valor devuelto se asigna a una variable, puede usar la macro MAKEPOINTS para obtener una estructura POINTS del valor devuelto. También puede usar la macro GET_X_LPARAM o GET_Y_LPARAM para extraer la coordenada x o y.

Importante

No use la LOWORD ni macros hiword para extraer las coordenadas x e y de la posición del cursor porque estas macros devuelven resultados incorrectos en sistemas con varios monitores. Los sistemas con varios monitores pueden tener coordenadas x e y negativas negativas y LOWORD y HIWORD tratar las coordenadas como cantidades sin signo.

A diferencia de los mensajes WM_LBUTTONUP, WM_MBUTTONUPy WM_RBUTTONUP, una aplicación debe devolver TRUE de este mensaje si lo procesa. Si lo hace, permitirá que el software que simula este mensaje en sistemas Windows anteriores a Windows 2000 determine si el procedimiento de ventana procesó el mensaje o se llamó a DefWindowProc procesarlo.

Requisitos

Requisito Valor
Cliente mínimo admitido
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo admitido
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Winuser.h (incluya Windowsx.h)

Consulte también

de referencia de

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_XBUTTON_WPARAM

GET_Y_LPARAM

GetCapture

SetCapture

WM_XBUTTONDBLCLK

WM_XBUTTONDOWN

conceptual de

de entrada del mouse

otros recursos

MAKEPOINTS

PUNTOS de