Introducción a los gestos táctiles de Windows

En esta sección se describen los distintos gestos admitidos por Windows Touch.

Introducción a los gestos

Windows Touch permite varios gestos que admiten contactos únicos y múltiples. En la imagen siguiente se muestran los distintos gestos que se admiten en Windows 7.

ilustración en la que se muestran los gestos que admite windows touch en windows 7

Nota

Algunos reconocedores son más confiables al interpretar gestos con varios contactos cuando los contactos están más separados entre sí.

Compatibilidad heredada

Para obtener compatibilidad heredada, el controlador de gestos predeterminado asigna algunos gestos a los mensajes de Windows que se usaron en versiones anteriores de Windows. En la tabla siguiente se describe cómo se asignan los gestos a los mensajes heredados.

Gesto Descripción Mensajes generados
Movimiento panorámico El gesto de movimiento panorámico se asigna al uso de la rueda de desplazamiento. WM_VSCROLL
WM_HSCROLL
Mantener presionado El gesto de presionar y mantener presionado se asigna para hacer clic con el botón derecho en el mouse. WM_RBUTTONDOWN
WM_RBUTTONUP
Zoom El gesto de zoom desencadena mensajes similares a mantener presionada la tecla CTRL y girar la rueda del mouse para desplazarse. WM_MOUSEWHEEL con MK_CONTROL establecido en wParam

Interpretación de gestos táctiles de Windows

Los desarrolladores de aplicaciones pueden interpretar los gestos de Windows Touch controlando el mensaje WM_GESTURE de la función WndProc de una aplicación. Después de controlar este mensaje, puede recuperar una estructura GESTUREINFO que describe el gesto. La estructura GESTUREINFO tendrá información variada que depende del tipo de gesto.

La estructura GESTUREINFO se recupera pasando el identificador a la estructura de información de gestos a la función GetGestureInfo .

Las marcas siguientes indican los distintos estados de los gestos y se almacenan en dwFlags.

Nombre Valor Descripción
GF_BEGIN 0x00000001 Se está iniciando un gesto.
GF_INERTIA 0x00000002 Un gesto ha desencadenado la inercia.
GF_END 0x00000004 Ha terminado un gesto.

Nota

La mayoría de las aplicaciones deben omitir el GID_BEGIN y GID_END y pasarlos a DefWindowProc. Estos mensajes los usa el controlador de gestos predeterminado. El comportamiento de la aplicación no está definido cuando una aplicación de terceros consume los mensajes de GID_BEGIN y GID_END .

En la tabla siguiente se indican los distintos identificadores de los gestos.

Nombre Valor Descripción
GID_BEGIN 1 Se está iniciando un gesto.
GID_END 2 Un gesto termina.
GID_ZOOM 3 Gesto de zoom.
GID_PAN 4 Gesto de movimiento panorámico.
GID_ROTATE 5 Gesto de rotación.
GID_TWOFINGERTAP 6 Gesto de pulsación de dos dedos.
GID_PRESSANDTAP 7 Gesto de presionar y pulsar.

Nota

El gesto de GID_PAN tiene inercia integrada. Al final de un gesto de movimiento panorámico, el sistema operativo crea mensajes adicionales de gestos de movimiento panorámico.

Los miembros de la estructura GESTUREINFOptsLocation y ullArguments especifican un punto (mediante la estructura POINTS ) y información adicional sobre los gestos en función del gesto. En la tabla siguiente se enumeran los valores asociados a cada tipo de gesto.

Id. de gesto ullArguments ptsLocation
GID_ZOOM Indica la distancia entre los dos puntos. Indica el centro del zoom.
GID_PAN Indica la distancia entre los dos puntos. Indica la posición actual del panel.
GID_ROTATE Indica el ángulo de rotación si se establece la marca GF_BEGIN . De lo contrario, este es el cambio de ángulo desde que se ha iniciado la rotación. Se firma para indicar la dirección de la rotación. Use las macros GID_ROTATE_ANGLE_FROM_ARGUMENT y GID_ROTATE_ANGLE_TO_ARGUMENT para obtener y establecer el valor angular. Esto indica el centro de la rotación que es el punto estacionario en el que se gira el objeto de destino.
GID_TWOFINGERTAP Indica la distancia entre los dos dedos. Indica el centro de los dos dedos.
GID_PRESSANDTAP Indica la diferencia entre el primer dedo y el segundo dedo. Este valor se almacena en una estructura POINT en los 32 bits inferiores del miembro ullArguments . Indica la posición en la que aparece el primer dedo.

Gestos táctiles de Windows