Message WM_XBUTTONDBLCLK
Publié quand l’utilisateur double-clique sur le premier ou le second bouton X alors que le curseur se situe dans la zone cliente d’une fenêtre. Si la souris n’est pas capturée, le message est publié dans la fenêtre située sous le curseur. Sinon, le message est publié dans la fenêtre qui a capturé la souris.
Une fenêtre reçoit ce message à travers sa fonction WindowProc.
#define WM_XBUTTONDBLCLK 0x020D
Paramètres
-
wParam
-
Le mot d’ordre inférieur indique si diverses touches virtuelles sont enfoncées. Il peut s’agir de l’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 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_XBUTTON1
- 0x0020
Le premier bouton X est enfoncé. - MK_XBUTTON2
- 0x0040
Le deuxième bouton X est enfoncé. Le mot de poids fort indique sur quel bouton un double-clic a été effectué. Il peut avoir l’une des valeurs suivantes.
Valeur Signification - XBUTTON1
- 0x0001
Double-clic sur le premier bouton X. - XBUTTON2
- 0x0002
Double-clic sur le deuxième bouton X. -
lParam
-
Le mot d’ordre inférieur spécifie la coordonnée x du curseur. La coordonnée est relative au coin supérieur gauche de la zone cliente.
Le mot d’ordre supérieur 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 inférieur court de la valeur de retour ; la coordonnée y est dans l’ordre supérieur court (les deux représentent des valeurs signées, car elles peuvent prendre des valeurs négatives sur des systèmes avec plusieurs moniteurs). Si la valeur retournée 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.
Seules les fenêtres qui ont le style CS_DBLCLKS peuvent recevoir des messages WM_RBUTTONDBLCLK, que le système génère à chaque fois que l’utilisateur enfonce, relâche, puis enfonce à nouveau le bouton X dans la limite de temps de double-clic du système. Le double-clic sur l’un de ces boutons génère en fait quatre messages : WM_XBUTTONDOWN, WM_XBUTTONUP, WM_XBUTTONDBLCLK et de nouveau WM_XBUTTONUP.
Contrairement aux messages WM_LBUTTONDBLCLK, WM_MBUTTONDBLCLK et WM_RBUTTONDBLCLK, une application doit retourner TRUE à partir de ce message si elle 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êtrage a traité le message ou appelé DefWindowProc pour le traiter.
Spécifications
Condition requise | Value |
---|---|
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 |
|
Voir aussi
-
Référence
-
Conceptuel
-
Autres ressources