Mensaje de XBUTTONDOWN de WM _

Se envía cuando el usuario presiona el primer o el segundo botón X mientras el cursor se encuentra en el área cliente de una ventana. Si no se captura el mouse, el mensaje se envía a la ventana debajo del cursor. De lo contrario, el mensaje se envía a la ventana que ha capturado el mouse.

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

#define WM_XBUTTONDOWN                  0x020B

Parámetros

wParam

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

Value Significado
MK _
0X0008
de control
La tecla CTRL está presionada.
MK _ LBUTTON
0x0001
El botón primario del mouse está inactivo.
MK _ MBUTTON
0x0010
El botón central del mouse está presionado.
MK _ RBUTTON
0x0002
El botón secundario del mouse está inactivo.
MK _ SHIFT
0x0004
La tecla Mayús está presionada.
MK _ XBUTTON1
0x0020
El primer botón X está inactivo.
MK _ XBUTTON2
0x0040
El segundo botón X está inactivo.

La palabra de orden superior indica en qué botón se hizo clic. Puede ser uno de los siguientes valores.

Value Significado
XBUTTON1
0x0001
Se hizo clic en el primer botón X.
XBUTTON2
0x0002
Se hizo clic en el segundo botón X.

lParam

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

La palabra de orden superior especifica la coordenada y del cursor. La coordenada es relativa a la esquina superior izquierda del área 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

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 corto orden inferior del valor devuelto. la coordenada y está en el valor Short de orden superior (ambos representan valores 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 u Get _ Y _ lParam para extraer la coordenada x o y.

Importante

No use las macros LOWORD o 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, y LOWORD y HIWORD tratan las coordenadas como cantidades sin signo.

A diferencia de los mensajes WM _ LBUTTONDOWN, WM _ MBUTTONDOWNy WM _ RBUTTONDOWN , una aplicación debe devolver true desde este mensaje si lo procesa. Al hacerlo, se permite el software que simula este mensaje en sistemas Windows anteriores a Windows 2000 para determinar si el procedimiento de ventana procesó el mensaje o se llamó a DefWindowProc para procesarlo.

Requisitos

Requisito Value
Cliente mínimo compatible
[Solo aplicaciones de escritorio] de Windows 2000 Professional
Servidor mínimo compatible
[Solo aplicaciones de escritorio] de Windows 2000 Server
Encabezado
Winuser. h (incluir windowsx. h)

Vea también

Referencia

OBTENER _ KEYSTATE _ wParam

OBTENER _ X _ lParam

OBTENER _ botón xbutton _ wParam

OBTENER _ _ lParam

GetCapture

SetCapture

XBUTTONDBLCLK de WM _

XBUTTONUP de WM _

Vista

Entrada del mouse

Otros recursos

MAKEPOINTS

CIMA