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.
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. |