Mensaje WM_NCXBUTTONDOWN

Se publica cuando el usuario pulsa 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, este mensaje no se publica.

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

#define WM_NCXBUTTONDOWN                0x00AB

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 obtener una lista de los valores de prueba de posicionamiento, consulte WM_NCHITTEST. La palabra de orden superior indica qué botón se ha pulsado. Puede ser uno de los siguientes valores.

Value Significado
XBUTTON1
0x0001
Se ha pulsado el primer botón X.
XBUTTON2
0x0002
Se ha pulsado 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.

A diferencia de los mensajes WM_NCLBUTTONDOWN, WM_NCMBUTTONDOWN y WM_NCRBUTTONDOWN, 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_NCXBUTTONDBLCLK

WM_NCXBUTTONUP

WM_SYSCOMMAND

Conceptual

Entrada de mouse

Otros recursos

MAKEPOINTS

POINTS