Mensaje WM_NCXBUTTONDBLCLK

Se publica cuando el usuario hace doble clic en el primer o el segundo botón X mientras el cursor se encuentra en el área no cliente de una ventana. Este mensaje se publica en la ventana que contiene el cursor. Si una ventana ha capturado el mouse, no se envía este mensaje.

Una ventana recibe este mensaje mediante la función WindowProc.

#define WM_NCXBUTTONDBLCLK              0x00AD

Parámetros

wParam

La palabra de orden bajo especifica el valor de prueba de posicionamiento devuelto por la función DefWindowProc para procesar el mensaje de WM_NCHITTEST. Para una lista de los valores de prueba de posicionamiento, consulte WM_NCHITTEST.

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

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

lParam

Puntero a una estructura POINTS que contiene las coordenadas x e y del cursor. Las coordenadas son relativas a la esquina superior izquierda de la pantalla.

Valor devuelto

Si la aplicación procesa este mensaje, debería devolver TRUE. Para más información sobre cómo procesar el valor devuelto, consulte la sección Comentarios.

Comentarios

Use el código siguiente para obtener la información contenida en el parámetro wcesParam.

nHittest = GET_NCHITTEST_WPARAM(wParam); 
fwButton = GET_XBUTTON_WPARAM(wParam); 

También puede usar el código siguiente para obtener las coordenadas x e y de lParam:

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

Importante

No use las macros LOWORD ni 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.

De forma predeterminada, la función DefWindowProc prueba el punto especificado para obtener la posición del cursor y realiza la acción adecuada. Si procede, envía el mensaje WM_SYSCOMMAND a la ventana.

No es necesario que una ventana tenga el estilo CS_DBLCLKS para recibir mensajes WM_NCXBUTTONDBLCLK. El sistema genera un mensaje WM_NCLBUTTONDBLCLK cuando el usuario presione, suelta y vuelve a presionar un botón X 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_NCXBUTTONDOWN, WM_NCXBUTTONUP, WM_NCXBUTTONDBLCLK y, de nuevo, WM_NCXBUTTONUP.

A diferencia de los mensajes WM_NCLBUTTONDBLCLK, WM_NCMBUTTONDBLCLK y WM_NCRBUTTONDBLCLK, una aplicación debe devolver TRUE a partir de este mensaje si lo procesa. Al hacerlo, 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 llamó a DefWindowProc para procesarlo.

Requisitos

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

Consulte también

Referencia

DefWindowProc

GET_X_LPARAM

GET_Y_LPARAM

WM_NCHITTEST

WM_NCXBUTTONDOWN

WM_NCXBUTTONUP

WM_SYSCOMMAND

Conceptual

Entrada de mouse

Otros recursos

MAKEPOINTS

POINTS