Problembehandlung bei Anwendungen
In diesem Abschnitt finden Sie Lösungen für häufige Probleme.
Allgemeine Problembehandlung
Category | BESCHREIBUNG |
---|---|
Problem | Ich führe Windows Server 2008 aus, und Windows Touch-Features funktionieren nicht. |
Ursache | Sie haben die Desktopdarstellung nicht aktiviert. |
Lösung | Öffnen Sie das Server-Manager Verwaltungstool: Klicken Sie auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Server-Manager. Klicken Sie in der linken Spalte auf das Element Features . Klicken Sie im Abschnitt Features auf Features hinzufügen. Wählen Sie Desktopdarstellung aus, klicken Sie auf Weiter, und klicken Sie dann auf Installieren. |
Category | BESCHREIBUNG |
---|---|
Problem | Wenn ich meinen Finger schnell über meine Anwendung bewege, wird ein Pfeil angezeigt, und meine Geste oder Manipulation wird nicht ordnungsgemäß registriert. |
Ursache | Flimmern ist aktiviert, wenn Sie sie nicht benötigen. |
Lösung | Sie haben Flicks aktiviert, wenn Sie möchten, dass sie deaktiviert werden. Informationen zum Deaktivieren von Stiftstreifen finden Sie unter Legacyunterstützung für Verschiebungen mit Bildlaufleisten . |
Problem | Ich kann nicht zwischen Mauseingabe und Windows-Toucheingabe unterscheiden. | ||
Ursache | Windows generiert Mausnachrichten für legacy-Unterstützung, wenn ein Benutzer auf den Bildschirm klickt. | ||
Lösung | Sie können GetMessageExtraInfo für die WM_LBUTTONDOWN aufrufen und nachrichten WM_LBUTTONUP , um die Quelle zu bestimmen. Der folgende Code zeigt, wie dies geschehen kann.
|
Category | BESCHREIBUNG |
---|---|
Problem | Gewusst wie Microsoft PixelSense-Anwendungen unter Windows 7 ausführen? |
Ursache | Windows Touch und Microsoft PixelSense sind inkompatibel. |
Lösung | Sie müssen entweder die Windows 7-Plattform oder die Microsoft PixelSense-Plattform als Ziel verwenden. |
Problembehandlung bei Manipulationen und DerEnträgheit
Category | BESCHREIBUNG |
---|---|
Problem | Meine Anwendung friert grundlos ein. Ich erhalte Zugriffsverletzungen, wenn ich meine Objektschnittstellen initialisiere. |
Ursache | Bei Verwendung der IManipulationProcessor- oder IInertiaProcessor-Schnittstelle fehlt ein Aufruf von CoInitialize. |
Lösung | Dies kann durch instanziieren der Windows Touch Component Object Model (COM)-Objekte ohne Aufrufen von CoInitialize verursacht werden. Dies geschieht manchmal, wenn Sie Projekte von der Verwendung von Gesten in die Verwendung der Manipulationen oder DerTrägheitsschnittstelle konvertieren. |
Category | BESCHREIBUNG |
---|---|
Problem | Mein Objekt dreht sich nicht ordnungsgemäß, wenn es übersetzt wird. Die Drehung mit nur einem Finger funktioniert nicht ordnungsgemäß. |
Ursache | Falsches Festlegen von Pivots für ein Objekt. |
Lösung | Sie richten die Bearbeitungs-Pivotpunkte nicht ordnungsgemäß ein. Legen Sie die Eigenschaften PivotPointX und PivotPointY auf die Mitte des Objekts oder Punkts fest, um das Bzw. den Sie drehen möchten, und legen Sie die PivotRadius-Eigenschaft auf den Radius Ihres Objekts fest. |
Problembehandlung bei Windows-Toucheingaben
Category | BESCHREIBUNG |
---|---|
Problem | Nachdem ich die WM_TOUCH-Nachricht verarbeitet habe, erhalte ich keine Begrenzungsfeedback mehr. |
Ursache | Verwenden der WM_TOUCH Nachricht, ohne sie zu behandeln. |
Lösung | Wahrscheinlich verwenden Sie eine Windows Touch-Nachricht, ohne sie an DefWindowProc weiterzuleiten, was zu unerwartetem Verhalten führt. Weitere Informationen zur ordnungsgemäßen Behandlung WM_TOUCH Nachrichten finden Sie unter Erste Schrittemit Windows-Touchnachrichten. |
Problem | Ich ziehe windows.h ein, aber es heißt immer noch, dass WM_TOUCH nicht definiert ist. | ||
Ursache | Die Windows-Version in Targetver.h ist falsch. | ||
Lösung | Sie haben in Ihrem Projekt nicht die richtige Windows-Version festgelegt. Der folgende Code veranschaulicht die ordnungsgemäß festgelegten Windows-Versionen für Windows Touch in Windows 7.
|
Problem | Meine X-Koordinaten und y-Koordinaten für die Toucheingabe scheinen ungültig zu sein. Sie sind entweder größer als erwartet oder negative Werte. | ||
Ursache | Möglicherweise müssen Sie Ihre Touchpunkte in Pixel konvertieren, oder Sie müssen möglicherweise die Bildschirmkoordinaten konvertieren. | ||
Lösung | Stellen Sie sicher, dass Sie TOUCH_COORD_TO_PIXEL und ScreenToClient aufrufen. Dies wird im folgenden Code veranschaulicht.
Hinweis: |
Category | BESCHREIBUNG |
---|---|
Problem | Ich sehe keine WM_TOUCH Nachrichten, aber ich weiß, dass Windows Touch funktioniert, weil ich WM_GESTURE Nachrichten sehe. |
Ursache | Es fehlt ein Aufruf von RegisterTouchWindow. |
Lösung | WM_TOUCH und WM_GESTURE Nachrichten schließen sich gegenseitig aus. Wenn Sie RegisterTouchWindow nicht aufrufen, erhalten Sie nur WM_GESTURE Nachrichten. |
Category | BESCHREIBUNG |
---|---|
Problem | Ich beschreibe kleine Verzögerungen von der Zeit, in der ich meinen Finger berührt, bis ich Eingaben in meiner Anwendung erhalte. |
Ursache | Die Palm-Ablehnung verursacht Verzögerungen bei der Eingabe. |
Lösung | Wenn TWF_WANTPALM in Aufrufen von RegisterTouchWindow festgelegt ist, ist die Palm-Ablehnung aktiviert. Dies verursacht eine kleine Verzögerung (100 ms), während die Software testet, ob die Eingabe von einem Finger, Stift oder der Handfläche des Benutzers stammt. Deaktivieren Sie die Palmenabweisung, indem Sie RegisterTouchWindow mit deaktiviertem TWF_WANTPALM-Flag aufrufen. |
Problembehandlung bei Windows-Touchgesten
Category | BESCHREIBUNG |
---|---|
Problem | Nachdem ich die WM_GESTURE-Nachricht verarbeitet habe, erhalte ich keine Begrenzungsfeedback mehr. Oder eine Geste, die zuvor funktioniert hat, funktioniert jetzt nicht. |
Ursache | Verwenden der WM_GESTURE Nachricht, ohne sie zu behandeln. |
Lösung | Sie verwenden wahrscheinlich eine Windows Touch-Nachricht, ohne sie an DefWindowProc weiterzuleiten, was zu unerwartetem Verhalten führt. Weitere Informationen zum ordnungsgemäßen Umgang mit WM_GESTURE Nachrichten finden Sie unter Erste Schritte mit Windows-Gesten. |
Category | BESCHREIBUNG |
---|---|
Problem | Ich sehe keine WM_GESTURE Nachrichten, aber ich weiß, dass Windows Touch funktioniert, weil ich WM_TOUCH Nachrichten sehe. |
Ursache | Aufruf von RegisterTouchWindow. |
Lösung | WM_TOUCH und WM_GESTURE Nachrichten schließen sich gegenseitig aus. Wenn Sie RegisterTouchWindow aufrufen, erhalten Sie keine WM_GESTURE Nachrichten. |
Problem | Ich sehe nicht alle Gesten, die ich erwarte. Beispielsweise werden Gesten mit dem Bezeichner GID_PAN , aber nicht GID_ROTATE angezeigt. | ||
Ursache | Einige Gesten, z. B. die Drehgeste, sind standardmäßig nicht aktiviert. | ||
Lösung | Sie müssen SetGestureConfig aufrufen, wenn Sie eine WM_GESTURENOTIFY Nachricht erhalten, wie in der WM_GESTURENOTIFY Referenz beschrieben, oder Sie müssen einen Handler für die WM_GESTURENOTIFY Nachricht hinzufügen. Der folgende Code zeigt, wie ein Handler implementiert werden kann, um die Unterstützung für die Drehung zu aktivieren.
Weitere Beispiele für typische Gestenkonfigurationen finden Sie unter SetGestureConfig. |
Category | BESCHREIBUNG |
---|---|
Problem | Die benutzerdefinierten Bildlaufleisten in meiner Anwendung scrollen nicht, wenn ich die Schwenkbewegung ausführe. |
Ursache | Fehlende Handler für die richtige WM_*SCROLL-Nachrichten. |
Lösung | Sie verarbeiten nicht alle WM_*SCROLL-Nachrichten in Ihren benutzerdefinierten Bildlaufleisten. Es wird empfohlen, die WM_GESTURE-Nachricht zu behandeln, anstatt die benutzerdefinierte Scrollleistenfunktionalität über legacy-Unterstützung beizubehalten. Sie müssen Nachrichten unterstützen, wie im Abschnitt Legacyunterstützung für das Verschieben mit Bildlaufleisten beschrieben. |
Category | BESCHREIBUNG |
---|---|
Problem | Ich erhalte Verzögerungen für Gesten. |
Ursache | Flicken kann zu Verzögerungen bei Gesten führen. |
Lösung | Flicks können zu Verzögerungen führen, wie lange es dauert, bis Ihre Anwendung WM_GESTURE Nachrichten empfängt. Informationen zum Deaktivieren von Flicks finden Sie unter Legacyunterstützung für das Verschieben mit Bildlaufleisten . |
Verwandte Themen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für