_Message WM MBUTTONDOWN

Publié lorsque l’utilisateur appuie sur le bouton central de la souris lorsque 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. Dans le cas contraire, le message est publié dans la fenêtre qui a capturé la souris.

Une fenêtre reçoit ce message par le biais de sa fonction WindowProc .

#define WM_MBUTTONDOWN                  0x0207

Paramètres

wParam

Indique si différentes clés virtuelles sont inactives. Ce paramètre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
MK _
0X0008
de contrôle
La touche CTRL est enfoncée.
MK _ LBUTTON
0x0001
Le bouton gauche de la souris est enfoncé.
MK _ MBUTTON
0x0010
Le bouton central de la souris est enfoncé.
MK _ RBUTTON
0x0002
Le bouton droit de la souris est enfoncé.
MK _ SHIFT
0x0004
La touche Maj est enfoncée.
MK _ LE bouton XButton1
0x0020
Le premier bouton X est enfoncé.
MK _ XBUTTON2
0x0040
Le deuxième bouton X est enfoncé.

lParam

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

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

Valeur de retour

Si une application traite ce message, elle doit retourner la valeur zéro.

Notes

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 le sens le plus bas de la valeur de retour ; la coordonnée y est dans le sens le plus élevé (les deux représentent des valeurs signées , car elles peuvent accepter des valeurs négatives sur les systèmes avec plusieurs analyses). Si la valeur de retour est assignée à une variable, vous pouvez utiliser la macro MAKEPOINTS pour obtenir une structure de points à partir de la valeur de retour. Vous pouvez également utiliser la macro obten _ x _ lParam ou obten _ 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 renvoient 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.

Pour détecter que la touche ALT a été enfoncée, vérifiez si GetKeyState avec le _ menu VK < 0. Notez qu’il ne doit pas s’agir de GetAsyncKeyState.

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

Obtient _ X _ lParam

Obtient _ le _ lParam Y

GetCapture

GetKeyState

SetCapture

_MBUTTONDBLCLK WM

_MBUTTONUP WM

Conceptuel

Entrée de la souris

Autres ressources

MAKEPOINTS

MOMENTS