Compartir a través de


mensaje de WM_XBUTTONDBLCLK

Publicado cuando el usuario hace doble clic en 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_XBUTTONDBLCLK                0x020D

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 en qué botón se hizo doble clic. Puede ser uno de los siguientes valores.

Valor Significado
XBUTTON1
0x0001
Se hizo doble clic en el XBUTTON1.
XBUTTON2
0x0002
Se hizo doble clic en el XBUTTON2.

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.

Solo las ventanas que tienen el estilo de CS_DBLCLKS pueden recibir mensajes WM_XBUTTONDBLCLK, que el sistema genera cada vez que el usuario presiona, libera y vuelve a presionar XBUTTON1 o XBUTTON2 dentro del límite de tiempo de doble clic del sistema. Al hacer doble clic en uno de estos botones, se generan cuatro mensajes: WM_XBUTTONDOWN, WM_XBUTTONUP, WM_XBUTTONDBLCLKy WM_XBUTTONUP de nuevo.

A diferencia de los mensajes WM_LBUTTONDBLCLK, WM_MBUTTONDBLCLKy WM_RBUTTONDBLCLK, 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

DefWindowProc

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_XBUTTON_WPARAM

GET_Y_LPARAM

GetCapture

GetDoubleClickTime

SetDoubleClickTime

WM_XBUTTONDOWN

WM_XBUTTONUP

conceptual de

de entrada del mouse

otros recursos

MAKEPOINTS

PUNTOS de