message WM_XBUTTONDOWN

Publié lorsque l’utilisateur appuie sur le premier ou le deuxième bouton X pendant que le curseur se trouve dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.

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

#define WM_XBUTTONDOWN                  0x020B

Paramètres

wParam

Le mot de bas ordre indique si différentes clés virtuelles sont en panne. Il peut s’agir d’une ou de plusieurs des valeurs suivantes.

Valeur Signification
MK_CONTROL
0x0008
La touche Ctrl est enfoncée.
MK_LBUTTON
0x0001
Le bouton gauche de la souris est bas.
MK_MBUTTON
0x0010
Le bouton de la souris centrale est bas.
MK_RBUTTON
0x0002
Le bouton droit de la souris est bas.
MK_SHIFT
0x0004
La clé MAJ est enfoncée.
MK_XBUTTON1
0x0020
Le premier bouton X est bas.
MK_XBUTTON2
0x0040
Le deuxième bouton X est bas.

Le mot de commande élevé indique quel bouton a été cliqué. Il peut avoir l’une des valeurs suivantes.

Valeur Signification
XBUTTON1
0x0001
Le premier bouton X a été cliqué.
XBUTTON2
0x0002
Le deuxième bouton X a été cliqué.

lParam

Le mot de bas ordre spécifie la coordonnée x du curseur. La coordonnée est relative au coin supérieur gauche de la zone cliente.

Le mot à ordre élevé spécifie la coordonnée y du curseur. La coordonnée est relative au coin supérieur gauche de la zone cliente.

Valeur retournée

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.

Notes

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

fwKeys = GET_KEYSTATE_WPARAM (wParam); 
fwButton = GET_XBUTTON_WPARAM (wParam);

Utilisez le code suivant pour obtenir la position horizontale et verticale :

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

Comme indiqué ci-dessus, la coordonnée x est dans l’ordre faible de la valeur de retour; la coordonnée y est dans l’ordre court (les deux représentent des valeurs signées , car elles peuvent prendre des valeurs négatives sur les systèmes avec plusieurs moniteurs). Si la valeur de retour est affectée à une variable, vous pouvez utiliser la macro MAKEPOINTS pour obtenir une structure POINTS à partir de la valeur de retour. Vous pouvez également utiliser la macro GET_X_LPARAM ou GET_Y_LPARAM pour extraire la coordonnée x ou y.

Important

N’utilisez pas les macros LOWORD ou 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 traitent les coordonnées comme des quantités non signées.

Contrairement aux WM_LBUTTONDOWN, WM_MBUTTONDOWN et WM_RBUTTONDOWN messages, 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.

Spécifications

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

Voir aussi

Référence

GET_KEYSTATE_WPARAM

GET_X_LPARAM

GET_XBUTTON_WPARAM

GET_Y_LPARAM

GetCapture

SetCapture

WM_XBUTTONDBLCLK

WM_XBUTTONUP

Conceptuel

Entrée de la souris

Autres ressources

MAKEPOINTS

POINTS