Partager via


message WM_NCXBUTTONDOWN

Publié lorsque l’utilisateur appuie sur XBUTTON1 ou XBUTTON2 pendant que le curseur se trouve dans la zone non cliente d’une fenêtre. Ce message est publié dans la fenêtre qui contient le curseur. Si une fenêtre a capturé la souris, ce message n’est pas publié.

Une fenêtre reçoit ce message via sa fonction WindowProc.

#define WM_NCXBUTTONDOWN                0x00AB

Paramètres

wParam

Le mot de faible ordre spécifie la valeur de test d’accès retournée par la fonction DefWindowProc du traitement du message WM_NCHITTEST. Pour obtenir la liste des valeurs de test de positionnement, consultez WM_NCHITTEST. Le mot à ordre élevé indique quel bouton a été appuyé. Il peut s’agir de l’une des valeurs suivantes.

Valeur Signification
XBUTTON1
0x0001
La XBUTTON1 a été enfoncée.
XBUTTON2
0x0002
La XBUTTON2 a été enfoncée.

lParam

Pointeur vers une structure POINTS qui contient les coordonnées x et y du curseur. Les coordonnées sont relatives au coin supérieur gauche de l’écran.

Valeur de retour

Si une application traite ce message, elle doit retourner TRUE. Pour plus d’informations sur le traitement de la valeur de retour, consultez la section Remarques.

Remarques

Windows prend en charge les souris avec jusqu’à cinq boutons : gauche, milieu et droit, ainsi que deux boutons supplémentaires appelés XBUTTON1 et XBUTTON2. Les boutons XBUTTON1 et XBUTTON2 sont souvent situés sur les côtés de la souris, près de la base. Ces boutons supplémentaires ne sont pas présents sur toutes les souris. S’il est présent, les boutons XBUTTON1 et XBUTTON2 sont souvent mappés à une fonction d’application, comme la navigation vers l’avant et l’arrière dans un navigateur Web.

Utilisez le code suivant pour obtenir les informations dans le paramètre wParam.

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

Vous pouvez également utiliser le code suivant pour obtenir les coordonnées x et y de lParam:

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

Important

N’utilisez pas les LOWORD ou macros HIWORD pour extraire les coordonnées x et y de la position du curseur, car ces macros retournent des résultats incorrects sur les systèmes avec plusieurs moniteurs. Les systèmes avec plusieurs moniteurs peuvent avoir des coordonnées x et y négatives, et LOWORD et HIWORD traiter les coordonnées comme des quantités non signées.

Par défaut, la fonction DefWindowPro c teste le point spécifié pour obtenir la position du curseur et effectuer l’action appropriée. Le cas échéant, il envoie le message WM_SYSCOMMAND à la fenêtre.

Contrairement aux messages WM_NCLBUTTONDOWN, WM_NCMBUTTONDOWNet WM_NCRBUTTONDOWN, une application doit retourner TRUE à partir de ce message s’il le traite. Cela permet aux logiciels qui simulent ce message sur les systèmes Windows antérieurs à Windows 2000 de déterminer si la procédure de fenêtre a traité le message ou appelé DefWindowProc pour le traiter.

Exigences

Exigence Valeur
Client minimum pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimum pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Winuser.h (inclure Windowsx.h)

Voir aussi

de référence

DefWindowProc

GET_X_LPARAM

GET_Y_LPARAM

WM_NCHITTEST

WM_NCXBUTTONDBLCLK

WM_NCXBUTTONUP

WM_SYSCOMMAND

conceptuelle

d’entrée de la souris

autres ressources

MAKEPOINTS

POINTS