Solución de problemas de aplicaciones
En esta sección se proporcionan soluciones a problemas comunes.
Solución general de problemas
Category | Descripción |
---|---|
Incidencia | Estoy ejecutando las características de Windows Server 2008 y Windows Touch no funcionan. |
Causa | No ha habilitado la experiencia de escritorio. |
Solución | Abra la herramienta administrativa Administrador del servidor: haga clic en Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador del servidor. Haga clic en el elemento Características de la columna izquierda. Haga clic en Agregar características en la sección Características . Seleccione Experiencia de escritorio, haga clic en Siguientey, a continuación, haga clic en Instalar. |
Category | Descripción |
---|---|
Incidencia | Cada vez que mué el dedo rápidamente a través de mi aplicación, aparece una flecha y mi gesto o manipulación no se registra correctamente. |
Causa | Tener parpadeos habilitados cuando no lo necesite. |
Solución | Tienes parpadeos habilitados cuando quieras que se deshabilite. Consulte Compatibilidad heredada con movimiento panorámico con barras de desplazamiento para obtener información sobre cómo deshabilitar los parpadeos de lápiz. |
Incidencia | No puedo distinguir entre la entrada del mouse y la entrada táctil de Windows. | ||
Causa | Windows genera mensajes de mouse para la compatibilidad heredada cuando un usuario hace clic en la pantalla. | ||
Solución | Puede llamar a GetMessageExtraInfo para los mensajes de WM_LBUTTONDOWN y WM_LBUTTONUP para determinar el origen. En el código siguiente se muestra cómo se puede hacer esto.
|
Category | Descripción |
---|---|
Incidencia | Cómo ejecutar aplicaciones de Microsoft PixelSense en Windows 7? |
Causa | Windows Touch y Microsoft PixelSense no son compatibles. |
Solución | Debe tener como destino la plataforma Windows 7 o la plataforma Microsoft PixelSense. |
Solución de problemas de manipulaciones e inercia
Category | Descripción |
---|---|
Incidencia | Mi aplicación está inmovilizarse por ningún motivo. Obtengo infracciones de acceso al inicializar mis interfaces de objeto. |
Causa | Falta una llamada a CoInitialize al usar las interfaces IManipulationProcessor o IInertiaProcessor . |
Solución | Esto puede deberse a la creación de instancias de los objetos del Modelo de objetos componentes táctiles (COM) de Windows sin llamar a CoInitialize. Esto sucede a veces cuando se convierten proyectos de mediante gestos para usar las manipulaciones o interfaces de inercia. |
Category | Descripción |
---|---|
Incidencia | Mi objeto está girando incorrectamente cuando se está traduciendo. La rotación de un solo dedo no funciona correctamente. |
Causa | Establecer incorrectamente los pivotes en un objeto. |
Solución | No está configurando correctamente los puntos de pivote de manipulación. Establezca las propiedades PivotPointX y PivotPointY en el centro del objeto o punto que desea girar y establezca la propiedad PivotRadius en el radio del objeto. |
Solución de problemas de entrada táctil de Windows
Category | Descripción |
---|---|
Incidencia | Después de controlar el mensaje de WM_TOUCH , dejaré de recibir comentarios de límites. |
Causa | Consumir el mensaje WM_TOUCH sin controlarlo. |
Solución | Probablemente estés consumiendo un mensaje de Windows Touch sin reenviarlo a DefWindowProc, lo que provocará un comportamiento inesperado. Consulta Introducción con mensajes táctiles de Windows para obtener más información sobre cómo controlar correctamente WM_TOUCH mensajes. |
Incidencia | Estoy incluyendo windows.h, pero todavía dice que WM_TOUCH no está definido. | ||
Causa | La versión de Windows en Targetver.h es incorrecta. | ||
Solución | No ha establecido la versión correcta de Windows en el proyecto. En el código siguiente se muestran las versiones de Windows configuradas correctamente para Windows Touch en Windows 7.
|
Incidencia | Mis coordenadas X de entrada táctil y coordenadas Y parecen no válidas. Son valores mayores de lo esperado o son valores negativos. | ||
Causa | Es posible que tenga que convertir los puntos táctiles en píxeles, o puede que tenga que convertir las coordenadas de la pantalla. | ||
Solución | Asegúrese de llamar a TOUCH_COORD_TO_PIXEL y ScreenToClient. El código siguiente muestra cómo hacerlo.
Nota: |
Category | Descripción |
---|---|
Incidencia | No veo WM_TOUCH mensajes, pero sé que Windows Touch funciona porque veo WM_GESTURE mensajes. |
Causa | Falta una llamada a RegisterTouchWindow. |
Solución | WM_TOUCH y WM_GESTURE mensajes son mutuamente excluyentes. Si no llama a RegisterTouchWindow, solo recibirá WM_GESTURE mensajes. |
Category | Descripción |
---|---|
Incidencia | Estoy notando retrasos pequeños desde el momento en que toco mi dedo hacia abajo cuando recibo la entrada en mi aplicación. |
Causa | El rechazo de la palma está causando retrasos en la entrada. |
Solución | Si TWF_WANTPALM se establece en llamadas a RegisterTouchWindow, el rechazo de la palma está habilitado. Esto provoca un retraso pequeño (100 ms) mientras que el software comprueba si la entrada procede de un dedo, un lápiz o la palma del usuario. Deshabilite el rechazo de la palma llamando a RegisterTouchWindow con la marca TWF_WANTPALM desactivada. |
Solución de problemas de gestos táctiles de Windows
Category | Descripción |
---|---|
Incidencia | Después de controlar el mensaje de WM_GESTURE , dejaré de recibir comentarios de límites. O bien, un gesto que funcionó anteriormente no funciona ahora. |
Causa | Consumir el mensaje WM_GESTURE sin controlarlo. |
Solución | Probablemente estés consumiendo un mensaje de Windows Touch sin reenviarlo a DefWindowProc, lo que provocará un comportamiento inesperado. Compruebe Introducción con gestos de Windows para obtener más información sobre cómo controlar correctamente WM_GESTURE mensajes. |
Category | Descripción |
---|---|
Incidencia | No veo WM_GESTURE mensajes, pero sé que Windows Touch funciona porque veo WM_TOUCH mensajes. |
Causa | Llamar a RegisterTouchWindow. |
Solución | WM_TOUCH y WM_GESTURE mensajes son mutuamente excluyentes. Si llama a RegisterTouchWindow, no recibirá WM_GESTURE mensajes. |
Incidencia | No veo todos los gestos que espero ver. Por ejemplo, veo gestos con el identificador GID_PAN pero no GID_ROTATE. | ||
Causa | Algunos gestos, como el gesto de rotación, no están habilitados de forma predeterminada. | ||
Solución | Debe llamar a SetGestureConfig cuando reciba un mensaje de WM_GESTURENOTIFY como se describe en la referencia de WM_GESTURENOTIFY , o bien debe agregar un controlador para el mensaje de WM_GESTURENOTIFY . En el código siguiente se muestra cómo se puede implementar un controlador para habilitar la compatibilidad con la rotación.
Para obtener más ejemplos de configuraciones de gestos típicas, consulte SetGestureConfig. |
Category | Descripción |
---|---|
Incidencia | Las barras de desplazamiento personalizadas de mi aplicación no se desplazan al realizar el gesto de movimiento panorámico. |
Causa | Faltan controladores para los mensajes de WM_*SCROLL correctos. |
Solución | No está controlando todos los mensajes de WM_*SCROLL en las barras de desplazamiento personalizadas. Se recomienda controlar el mensaje de WM_GESTURE en lugar de conservar la funcionalidad de barra de desplazamiento personalizada a través de la compatibilidad heredada. Debe admitir mensajes como se detalla en la sección Compatibilidad heredada para movimiento panorámico con barras de desplazamiento. |
Category | Descripción |
---|---|
Incidencia | Recibo retrasos en los gestos. |
Causa | Los parpadeos pueden estar causando retrasos en los gestos. |
Solución | Los parpadeos pueden provocar retrasos durante cuánto tiempo tarda la aplicación en recibir mensajes WM_GESTURE . Consulte Compatibilidad heredada con movimiento panorámico con barras de desplazamiento para obtener información sobre cómo deshabilitar los parpadeos. |
Temas relacionados
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de