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.

illustration montrant les mouvements pris en charge par Windows Touch 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.

Mouvements Tactiles Windows