Vue d’ensemble des mouvements Tactiles Windows
Cette section décrit les différents mouvements pris en charge par Windows Touch.
Vue d’ensemble des mouvements
Windows Touch active plusieurs mouvements qui prennent en charge des contacts uniques et multiples. L’image suivante illustre les différents mouvements pris en charge dans Windows 7.
Notes
Certains éléments de reconnaissance sont plus fiables pour interpréter les mouvements avec plusieurs contacts lorsque les contacts sont plus éloignés les uns des autres.
Prise en charge héritée
Pour la prise en charge héritée, le gestionnaire de mouvements par défaut mappe certains mouvements aux messages Windows qui ont été utilisés dans les versions précédentes de Windows. Le tableau suivant décrit la façon dont les mouvements sont mappés aux messages hérités.
Mouvement | Description | Message(s) généré(s) |
---|---|---|
Panoramique | Le mouvement panoramique est mappé à l’aide de la roulette de défilement. |
WM_VSCROLL WM_HSCROLL |
Appuyer longuement | Le mouvement appuyez longuement sur la carte en cliquant avec le bouton droit sur la souris. |
WM_RBUTTONDOWN WM_RBUTTONUP |
Zoom | Le mouvement de zoom déclenche des messages qui sont similaires à maintenir la touche CTRL et à faire tourner la roulette de la souris pour faire défiler. | WM_MOUSEWHEEL avec MK_CONTROL défini dans le wParam |
Interprétation des mouvements tactiles Windows
Les mouvements Windows Touch peuvent être interprétés par les développeurs d’applications en gérant le message WM_GESTURE à partir de la fonction WndProc d’une application. Après avoir géré ce message, vous pouvez récupérer une structure GESTUREINFO qui décrit le mouvement. La structure GESTUREINFO aura une combinaison d’informations qui dépendent du type de mouvement.
La structure GESTUREINFO est récupérée en passant le handle à la structure d’informations de mouvement à la fonction GetGestureInfo .
Les indicateurs suivants indiquent les différents états des mouvements et sont stockés dans dwFlags.
Nom | Valeur | Description |
---|---|---|
GF_BEGIN | 0x00000001 | Un mouvement commence. |
GF_INERTIA | 0x00000002 | Un geste a déclenché l’inertie. |
GF_END | 0x00000004 | Un mouvement est terminé. |
Notes
La plupart des applications doivent ignorer les GID_BEGIN et les GID_END et les passer à DefWindowProc. Ces messages sont utilisés par le gestionnaire de mouvements par défaut. Le comportement de l’application n’est pas défini lorsque les messages GID_BEGIN et GID_END sont consommés par une application tierce.
Le tableau suivant indique les différents identificateurs des mouvements.
Nom | Valeur | Description |
---|---|---|
GID_BEGIN | 1 | Un mouvement commence. |
GID_END | 2 | Un mouvement se termine. |
GID_ZOOM | 3 | Mouvement de zoom. |
GID_PAN | 4 | Mouvement panoramique. |
GID_ROTATE | 5 | Mouvement de rotation. |
GID_TWOFINGERTAP | 6 | Mouvement d’appui à deux doigts. |
GID_PRESSANDTAP | 7 | Mouvement d’appui et d’appui. |
Notes
Le mouvement GID_PAN a une inertie intégrée. À la fin d’un mouvement panoramique, des messages de mouvement panoramique supplémentaires sont créés par le système d’exploitation.
Les membres de la structure GESTUREINFOptsLocation et ullArguments spécifient un point (à l’aide de la structure POINTS ) et des informations supplémentaires sur les mouvements en fonction du mouvement. Le tableau suivant répertorie les valeurs associées à chaque type de mouvement.
ID de mouvement | ullArguments | ptsLocation |
---|---|---|
GID_ZOOM | Indique la distance entre les deux points. | Indique le centre du zoom. |
GID_PAN | Indique la distance entre les deux points. | Indique la position actuelle du panoramique. |
GID_ROTATE | Indique l’angle de rotation si Si l’indicateur GF_BEGIN est défini. Sinon, il s’agit du changement d’angle depuis le début de la rotation. Cette commande est signée pour indiquer le sens de la rotation. Utilisez les macros GID_ROTATE_ANGLE_FROM_ARGUMENT et GID_ROTATE_ANGLE_TO_ARGUMENT pour obtenir et définir la valeur de l’angle. | Cela indique le centre de la rotation, qui est le point fixe autour duquel l’objet cible est pivoté. |
GID_TWOFINGERTAP | Indique la distance entre les deux doigts. | Indique le centre des deux doigts. |
GID_PRESSANDTAP | Indique le delta entre le premier doigt et le deuxième doigt. Cette valeur est stockée dans une structure POINT dans les 32 bits inférieurs du membre ullArguments . | Indique la position sur laquelle le premier doigt descend. |