MOUSEINPUT, structure (winuser.h)
Contient des informations sur un événement de souris simulé.
Syntaxe
typedef struct tagMOUSEINPUT {
LONG dx;
LONG dy;
DWORD mouseData;
DWORD dwFlags;
DWORD time;
ULONG_PTR dwExtraInfo;
} MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;
Membres
dx
Type : LONG
La position absolue de la souris, ou la quantité de mouvement depuis le dernier événement de souris a été généré, en fonction de la valeur du membre dwFlags . Les données absolues sont spécifiées en tant que coordonnée x de la souris ; les données relatives sont spécifiées en tant que nombre de pixels déplacés.
dy
Type : LONG
La position absolue de la souris, ou la quantité de mouvement depuis le dernier événement de souris a été généré, en fonction de la valeur du membre dwFlags . Les données absolues sont spécifiées comme coordonnée y de la souris ; les données relatives sont spécifiées en tant que nombre de pixels déplacés.
mouseData
Type : DWORD
Si dwFlags contient MOUSEEVENTF_WHEEL, mouseData spécifie la quantité de mouvement de la roue. Une valeur positive indique que la roue a été actionnée vers l’avant, face à l’utilisateur ; une valeur négative indique que la roue a été actionnée vers l’arrière, en direction de l’utilisateur. Un clic de roue est défini comme WHEEL_DELTA, soit 120.
Windows Vista : si dwFlags contient MOUSEEVENTF_HWHEEL, dwData spécifie la quantité de mouvement de la roue. Une valeur positive indique une rotation de la molette vers la droite ; une valeur négative indique une rotation de la molette vers la gauche. Un clic de roue est défini comme WHEEL_DELTA, soit 120.
Si dwFlags ne contient pas MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN ou MOUSEEVENTF_XUP, mouseData doit être égal à zéro.
Si dwFlags contient MOUSEEVENTF_XDOWN ou MOUSEEVENTF_XUP, mouseData spécifie les boutons X qui ont été appuyés ou relâchés. Cette valeur peut être n’importe quelle combinaison des indicateurs suivants.
Valeur | Signification |
---|---|
XBUTTON1 0x0001 |
Définissez si le premier bouton X est enfoncé ou relâché. |
XBUTTON2 0x0002 |
Définissez si le deuxième bouton X est appuyé ou relâché. |
dwFlags
Type : DWORD
Ensemble d’indicateurs de bits qui spécifient différents aspects du mouvement de la souris et des clics de bouton. Les bits de ce membre peuvent être n’importe quelle combinaison raisonnable des valeurs suivantes.
Les indicateurs de bits qui spécifient les status de bouton de la souris sont définis pour indiquer des modifications dans status, et non dans des conditions en cours. Par exemple, si le bouton gauche de la souris est enfoncé, MOUSEEVENTF_LEFTDOWN est défini lors de la première pression sur le bouton gauche, mais pas pour les mouvements suivants. De même , MOUSEEVENTF_LEFTUP est défini uniquement lorsque le bouton est relâché pour la première fois.
Vous ne pouvez pas spécifier simultanément l’indicateur MOUSEEVENTF_WHEEL et les indicateurs MOUSEEVENTF_XDOWN ou MOUSEEVENTF_XUP dans le paramètre dwFlags , car ils nécessitent tous deux l’utilisation du champ mouseData .
Valeur | Signification |
---|---|
MOUSEEVENTF_MOVE 0x0001 |
Un mouvement s’est produit. |
MOUSEEVENTF_LEFTDOWN 0x0002 |
Le bouton gauche a été appuyé. |
MOUSEEVENTF_LEFTUP 0x0004 |
Le bouton gauche a été relâché. |
MOUSEEVENTF_RIGHTDOWN 0x0008 |
Le bouton droit a été appuyé. |
MOUSEEVENTF_RIGHTUP 0x0010 |
Le bouton droit a été relâché. |
MOUSEEVENTF_MIDDLEDOWN 0x0020 |
Le bouton central a été appuyé. |
MOUSEEVENTF_MIDDLEUP 0x0040 |
Le bouton central a été relâché. |
MOUSEEVENTF_XDOWN 0x0080 |
Un bouton X a été appuyé. |
MOUSEEVENTF_XUP 0x0100 |
Un bouton X a été relâché. |
MOUSEEVENTF_WHEEL 0x0800 |
La roue a été déplacée, si la souris a une roulette. La quantité de mouvement est spécifiée dans mouseData. |
MOUSEEVENTF_HWHEEL 0x1000 |
La roue a été déplacée horizontalement, si la souris a une roulette. La quantité de mouvement est spécifiée dans mouseData. Windows XP/2000 : cette valeur n’est pas prise en charge. |
MOUSEEVENTF_MOVE_NOCOALESCE 0x2000 |
Les messages WM_MOUSEMOVE ne seront pas coalescés. Le comportement par défaut consiste à fusionner WM_MOUSEMOVE messages. Windows XP/2000 : cette valeur n’est pas prise en charge. |
MOUSEEVENTF_VIRTUALDESK 0x4000 |
Mappe les coordonnées à l’ensemble du bureau. Doit être utilisé avec MOUSEEVENTF_ABSOLUTE. |
MOUSEEVENTF_ABSOLUTE 0x8000 |
Les membres dx et dy contiennent des coordonnées absolues normalisées. Si l’indicateur n’est pas défini, dxet dy contiennent des données relatives (changement de position depuis la dernière position signalée). Cet indicateur peut être défini, ou non, quel que soit le type de souris ou d’autre appareil de pointage, le cas échéant, connecté au système. Pour plus d’informations sur le mouvement relatif de la souris, consultez la section Remarques suivante. |
time
Type : DWORD
Horodatage de l’événement, en millisecondes. Si ce paramètre a la valeur 0, le système fournit son propre horodatage.
dwExtraInfo
Type : ULONG_PTR
Valeur supplémentaire associée à l’événement de souris. Une application appelle GetMessageExtraInfo pour obtenir ces informations supplémentaires.
Remarques
Si la souris a été déplacée, indiquée par MOUSEEVENTF_MOVE, dx et dy spécifient des informations sur ce mouvement. Les informations sont spécifiées en tant que valeurs entières absolues ou relatives.
Si MOUSEEVENTF_ABSOLUTE valeur est spécifiée, dx et dy contiennent des coordonnées absolues normalisées comprises entre 0 et 65 535. La procédure événementielle mappe ces coordonnées sur la surface d’affichage. Coordonnées (0,0) sur le coin supérieur gauche de la surface d’affichage; coordonnée (65535,65535) correspond au coin inférieur droit. Dans un système multimonitor, les coordonnées sont mappées au moniteur principal.
Si MOUSEEVENTF_VIRTUALDESK est spécifié, les coordonnées sont mappées à l’ensemble du bureau virtuel.
Si la valeur MOUSEEVENTF_ABSOLUTE n’est pas spécifiée, dxet dy spécifient le mouvement par rapport à l’événement de souris précédent (dernière position signalée). Les valeurs positives signifient que la souris a été déplacée vers la droite (ou vers le bas) ; les valeurs négatives signifient que la souris a été déplacée vers la gauche (ou vers le haut).
Le mouvement relatif de la souris est soumis aux effets de la vitesse de la souris et des valeurs de seuil à deux souris. Un utilisateur définit ces trois valeurs avec le curseur Vitesse du pointeur de la feuille Propriétés de la souris du Panneau de configuration. Vous pouvez obtenir et définir ces valeurs à l’aide de la fonction SystemParametersInfo .
Le système applique deux tests au déplacement relatif de la souris spécifié. Si la distance spécifiée le long de l’axe x ou y est supérieure à la première valeur de seuil de la souris et que la vitesse de la souris n’est pas égale à zéro, le système double la distance. Si la distance spécifiée le long de l’axe x ou y est supérieure à la deuxième valeur seuil de la souris et que la vitesse de la souris est égale à deux, le système double la distance résultant de l’application du premier test de seuil. Il est donc possible pour le système de multiplier jusqu’à quatre fois le mouvement relatif de la souris spécifié le long de l’axe x ou y.
Spécifications
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 Windows.h) |
Voir aussi
Conceptuel
Référence