Partager via


Événements système et messages de souris

Votre application intègre une conception et une utilisation optimales du stylet de tablette en envoyant à la fois des messages de souris Microsoft Windows et des événements système. Les applications reçoivent les deux ensembles d’événements pour chaque mouvement ou action de stylet. L’application choisit ensuite l’événement approprié à utiliser en fonction du contexte de l’action. Les messages de souris Windows fonctionnent bien pour pointer et sélectionner des activités. Vous devez les utiliser pour les activités qui impliquent une interaction avec des éléments d’interface utilisateur. Les événements de stylet fonctionnent bien pour l’application manuscrite en temps réel, les actions de stylet et l’écriture manuscrite.

Notes

Les événements de stylet et les messages de souris sont envoyés à une application, que le stylet ou la souris soit utilisé.

 

Distinction de l’entrée stylet de la souris et du toucher

Lorsque votre application reçoit un message de souris (par exemple, WM_LBUTTONDOWN), elle peut appeler la fonction GetMessageExtraInfo pour déterminer si le message provient d’un stylet ou d’un périphérique de souris.

La valeur retournée par GetMessageExtraInfo doit être vérifiée par rapport à 0xFFFFFF00, puis comparée à 0xFF515700. Les définitions suivantes peuvent rendre cela plus clair :

#define MI_WP_SIGNATURE<entity type="nbsp"/> 0xFF515700
#define SIGNATURE_MASK<entity type="nbsp"/><entity type="nbsp"/> 0xFFFFFF00
#define IsPenEvent(dw)<entity type="nbsp"/><entity type="nbsp"/> (((dw) & SIGNATURE_MASK) == MI_WP_SIGNATURE

Si la comparaison est vraie, ce message de souris a été généré par un stylet Tablet PC ou un écran tactile. Dans tous les autres cas, vous pouvez supposer que ce message a été généré par un appareil de souris.

Les 8 bits inférieurs retournés par GetMessageExtraInfo sont variables. Parmi ces bits, 7 (les 7 inférieurs, masqués par 0x7F) sont utilisés pour représenter l’ID du curseur, zéro pour la souris ou une valeur de variable pour l’ID du stylet. En outre, dans Windows Vista, le huitième bit, masqué par 0x80, est utilisé pour différencier l’entrée tactile de l’entrée au stylet (0 = stylet, 1 = tactile).

Mouvements système pris en charge

Le tableau suivant répertorie les mouvements système actuellement inclus dans Windows XP Édition Tablet PC, détaille les actions de stylet et les événements système correspondants, et montre comment ils sont liés aux actions de souris traditionnelles.

Mouvement du stylet Action de la souris Description du mouvement du stylet Messages d’événement Messages de souris Comportements dans les applications Windows
Taper
Clic gauche
Appuyez une fois sur l’écran avec le stylet.
ISG_TAP envoyé lorsque le stylet est levé.
WM_LBUTTONDOWN et WM_LBUTTONUP envoyés quand le stylet est levé.
Choisissez une commande dans le menu ou la barre d’outils, effectuez une action si la commande est choisie, définissez le point d’insertion (IP), affichez les commentaires de sélection.
Double appui
Double-clic
Appuyez deux fois successivement sur l’écran.
ISG_DOUBLETAP envoyé lors du deuxième appui (bas). ISG_TAP événement envoyé au premier appui.
WM_LBUTTONDBLCLK envoyé lors du deuxième appui (bas). WM_LBUTTONDOWN et WM_LBUTTONUP envoyés lors du premier appui (haut) comme pour un seul appui.
Sélectionnez word, ouvrez un fichier ou un dossier.
Appuyer de manière prolongée
Cliquer avec le bouton droit
Appuyez longuement sur l’écran jusqu’à ce qu’une icône de souris s’affiche, puis soulevez le stylet pour afficher un menu contextuel. Une application peut choisir d’effectuer une action différente de l’affichage d’un menu contextuel lorsque le stylet est levé.
ISG_HOLDENTER envoyé lorsque le stylet a été enfoncé assez longtemps. ISG_RIGHTTAP envoyé lorsque le stylet est levé et qu’un clic droit se produit.
WM_RBUTTONDOWN et WM_RBUTTONUP envoyés quand un clic droit se produit (lorsque le stylet est levé).
Afficher le menu contextuel.
Conservation
Clic gauche
Appuyez longuement sur l’écran jusqu’à ce que l’icône de souris s’affiche et disparaisse. Les utilisateurs sont susceptibles de le faire lorsqu’ils appuient de façon accidentelle et qu’ils veulent revenir à appuyez simplement.
ISG_TAP envoyé lorsque le stylet est levé.
WM_LBUTTONDOWN et WM_LBUTTONUP envoyés lorsque le stylet est levé.
Cliquez avec le bouton gauche pendant une longue période. Il n’existe aucun équivalent de souris. Il s’agit d’une option de secours lorsqu’un utilisateur effectue une opération d’appui enfoncé pendant une longue période. L’événement revient à être un appui.
Glissement
Glisser vers la gauche
Appuyez sur l’écran pour sélectionner l’objet à déplacer, puis faites glisser l’objet une fois l’objet sélectionné.
ISG_DRAG envoyées au démarrage du glissement.
WM_LBUTTONDOWN envoyées au démarrage du glissement, suivies d’une série de messages de déplacement de souris et suivies d’un événement WM_LBUTTONUP.
Glisser-sélectionner, comme dans Microsoft Word lors du démarrage d’une adresse IP ; sélectionner plusieurs mots ; faire glisser, comme lors du déplacement d’un objet dans Windows ; faire défiler.
Appuyez longuement, puis faites glisser
Glisser vers la droite
Appuyez sur l’écran pour sélectionner l’objet à déplacer. Maintenez la souris enfoncée jusqu’à ce que l’icône de la souris apparaisse, puis faites glisser pour déplacer l’objet. Soulevez le stylet pour afficher un menu contextuel.
ISG_HOLDENTER envoyé lorsque le stylet est en panne depuis un certain temps. ISG_RIGHTDRAG envoyées au démarrage du glissement.
WM_RBUTTONDOWN envoyé au démarrage du glisser, suivi d’une série de messages de déplacement de souris, suivi d’un événement WM_RBUTTONUP.
Faites glisser, comme lors du déplacement d’un objet ou d’une sélection suivi d’un menu contextuel.
Pointeur de stylet
Pointage de la souris
Maintenez le stylet stable à une petite distance de l’écran.
ISG_HOVERENTER événement envoyé initialement. Une fois l’intervalle de pointage terminé, ISG_HOVERLEAVEis envoyé.
Aucun message de souris équivalent.
Afficher l’info-bulle, les effets de substitution et d’autres comportements de pointage de la souris.
Secouement dans l’air
Afficher le panneau d’entrée Tablet PC. Aucun équivalent de souris.
Déplacez rapidement le stylet d’un côté à l’autre, en maintenant la pointe au-dessus, mais à portée de l’écran.
L’événement n’est pas passé à l’application.
Aucun message de souris équivalent.
Nouveau, spécifique à Tablet PC.

 

Spécification du stylet et des interactions tactiles

Par défaut, votre fenêtre reçoit tous les événements de mouvement système et utilise le modèle d’interaction par défaut. Certains éléments de ce modèle peuvent interférer avec votre application. Vous pouvez donc les désactiver de manière sélective en répondant au message WM_TABLET_QUERYSYSTEMGESTURESTATUS dans votre WndProc.