Windows 7 tiene algunas características geniales que los sistemas XP y Vista no tienen, como la vista previa del grupo de ventanas, los íconos del escritorio ocultos rápidamente, agitar otras ventanas ... estas geniales ¿Cómo se diseña la función? ¿Cómo los programas personales que desarrollamos utilizan estas funciones para sorprender a los usuarios?
En el "Informe de minorías", Tomang usó directamente dos dedos para operar el programa en la pantalla táctil, lo cual fue incómodo. Esta función también es compatible con Win 7. Mientras haya un dispositivo táctil, también podemos usar ambas manos para jugar con la computadora en Win 7. El toque de dos dedos, como el zoom, el zoom de dos dedos, el giro de dos dedos y otros efectos se pueden implementar en Win 7.
Dos gestos de uso común
1. Gestos de zoom
Los gestos de zoom se utilizan para acercar o alejar la interfaz, y se utilizan a menudo en programas como la exploración de imágenes y la lectura de artículos. El gesto del zoom de dos dedos se muestra en la Figura 1: los dos dedos se colocan juntos en el formulario, uno hacia arriba y el otro hacia abajo, esto se acerca, los dos dedos se colocan en el formulario por separado, y los dos puntos se deslizan en el medio, luego Alejar
El programa debe reconocer este gesto. El primer paso es enviar un mensaje del dedo a la pantalla. En el segundo paso, la distancia se calcula de acuerdo con las coordenadas de los dos dedos, y la distancia entre los dos dedos se compara de acuerdo con un valor empírico para obtener que los dos dedos estén separados o los dos dedos estén juntos. En el tercer paso, las coordenadas del punto del dedo se pueden capturar en tiempo real de acuerdo con un temporizador para calcular la dirección de movimiento y la velocidad, y además, se puede determinar si los dos dedos están en reversa o en deslizamiento opuesto.
2. Gestos de panorámica
Los gestos de panorámica se utilizan a menudo para la navegación. Por ejemplo, en un visor de imágenes, use el gesto de paneo a la izquierda para navegar al anterior y el gesto de paneo para navegar a la siguiente imagen. El gesto de panorámica se muestra en la Figura 2: ambos dedos se deslizan hacia la izquierda o hacia la derecha. ¿Cómo distinguir si el usuario quiere cambiar la posición de la imagen o pasar la página? La aceleración debe ser utilizada aquí.
Puede capturar las coordenadas de los dedos en tiempo real en un temporizador, calcular la velocidad y la aceleración, y compararla con la aceleración a través de un valor empírico. Cuando la aceleración es relativamente grande, puede considerarse como páginas que dan vuelta, de lo contrario, se está arrastrando. Mover Por supuesto, esto no es suficiente. Al arrastrar, debe juzgar más a fondo si alcanza el límite del programa. Si alcanza el límite, también se considera que pasa la página. Para el procesamiento de páginas giratorias, el desplazamiento hacia la izquierda o el borde izquierdo se considera la página anterior.
La API táctil de dos dedos revela
El núcleo del toque de dos dedos es colocar los datos táctiles originales en el modelo de movimiento para calcular el gesto del usuario. Los datos táctiles en bruto se pueden obtener del mensaje WM_TOUCH. Los gestos de zoom y paneo son reconocidos por WM_TOUCH.
Paso 1: comprobar el hardware multitáctil
Use la API de GetSystemMetrics aquí para preparar el hardware:
BYTE digitizerStatus = (BYTE) GetSystemMetrics (SM_DIGITIZER);
if ((digitizerStatus &(0x80 + 0x40)) == 0) {
//No se detectó ningún dispositivo multitáctil o el dispositivo no está listo
}
//Compruebe la compatibilidad del dispositivo Puntos de contacto, se debe tener en cuenta que Win 7 actualmente admite 2 puntos de contacto mejor
BYTE nInputs = (BYTE) GetSystemMetrics (SM_MAXIMUMTOUCHES);
Paso 2: cambie al mensaje táctil original < Br>
De forma predeterminada, Win 7 proporciona un mensaje WM_GESTURE (gesto) de forma predeterminada. Este gesto es un gesto que el sistema reconoce en función de los datos táctiles originales. La función de API RegisterTouchWindow permite que el sistema devuelva el mensaje de entrada táctil original WM_TOUCH. El código del núcleo:
RegisterTouchWindow (hWnd, 0)) //hwnd es la ventana actual Manejar
Paso 3: obtenga los datos táctiles en bruto
Use la API GetTouchInputInfo para obtener los datos táctiles originales, código del núcleo:
GetTouchInputInfo ((HTOUCHINPUT) lParam, numInputs, ti, sizeof ( TOUCHINPUT)))
numInputs es una variable declarada previamente para almacenar varios puntos de contacto. Si 5 dedos se deslizan simultáneamente en la pantalla, entonces numInputs es 5.
ti es una estructura TOUCHINPUT que contiene las coordenadas X e Y del contacto, el tiempo de ocurrencia y el tipo de toque (similar a la presión del mouse, el movimiento del mouse, la liberación del mouse, etc.).
para (unsigned int i = 0; i < numInputs; ++ i) {//Loop según el punto de entrada táctil
if (ti [i] .dwFlags &TOUCHEVENTF_DOWN) {
OnTouchDownHandler (hWnd, ti [i]); //entregado a la función de prensa de contacto
} else if (ti [i] .dwFlags &TOUCHEVENTF_MOVE) {
OnTouchMoveHandler (hWnd, ti [i]); //Entregado a la función de movimiento de contacto que procesa
} else if (ti [i] .dwFlags &TOUCHEVENTF_UP) {
OnTouchUpHandler (hWnd, ti [i]);} //Entregado a la función de liberación de contactos
}
La función de presionar, mover, soltar, etc. del contacto es en realidad un modelo de simulación de movimiento. En el modelo, necesitamos generar varias curvas de movimiento para la trayectoria del contacto y calcular El azimut, la velocidad, la aceleración normal, la aceleración tangencial, etc. de cada punto se extraen para identificar gestos específicos. Consejo
: la forma más fácil de obtener soporte multitáctil es usar la función de reconocimiento de gestos de Win 7, principalmente mediante la siguiente API:
GetSystemMetrics, que se usa para verificar si hay dispositivos de hardware multitáctiles Existir y listo.
GetGestureInfo, utilizado para obtener el tipo de gesto y los datos relacionados.
En general, instalamos un programa en nuestra PC Ultimate de 64 bits de Win7, que generará un acceso
Un compañero de Xiaobian siempre usa la función Bluetooth para transferir archivos. Él usa la funció
Quizás esté familiarizado con las funciones de Windows 7 Aero (Aero Snap, Aero Peek, Aero Shake), Li
1. La barra espaciadora puede realizar opciones sombreadas. La interfaz general del programa de soft
¿Qué debo hacer con la falla del disco duro en el sistema win7?
Cómo sincronizar la vista del administrador de recursos con Win7
Cómo configurar el volumen de sonido de lanzamiento en el sistema Windows 7
¿Cómo envío comentarios a Microsoft en Windows 7 RC?
Se le deniega el acceso a la solución
Sistema de Windows 7 para recuperar la cámara en mi computadora
Eliminación de trazas del disco duro de la computadora
Instalación del sistema Win7, debe conocer el sentido común de la instalación
Las características de la biblioteca de Windows 7 hacen que los archivos ya no sean desordenados
Ya sea que Windows 7 pirateado pueda llevar a la llegada de Windows 7
Características de Windows 7 Enterprise Vista previa potente
Win8.1 no puede instalar la solución de parche KB2825630
El archivo adjunto del menú de inicio de WinXP perdió la forma de volver atrás
Win2008 R2 nuevas características de administración de energía
Cómo agregar relojes en diferentes zonas horarias en Windows 8
Cómo modificar el directorio de caché de IE en el sistema Win10
Win10 RS2 Quick Preview Edition 14931 actualiza el contenido y los problemas conocidos resumen
¿Cómo grabar un CD en el sistema win10? Win10 grabar disco pasos gráficos detallados
Enseñarle a insertar rápidamente una pantalla de captura en Word
Cómo guardar rápidamente un disco como un formato de imagen ios en el sistema Windows 7
Cómo encontrar rápidamente archivos compartidos en Windows 7