2016-07-13 29 views
0

Ich habe ein Steuerelement mit dem Namen SimpleControl implementiert. In diesem Steuerelement habe ich die Berührungsunterstützung unter Verwendung der Berührungsgesten implementiert. In dieser Touch-Position wird nicht korrekt aktualisiert, während die Touch-Panning-Operation. Wenn das Schwenken in horizontaler oder vertikaler Richtung durchgeführt wird, funktioniert es gut. Wenn Sie aber das vertikale Schwenken beginnen und dann den Finger in horizontaler Richtung bewegen, wird die x-Position nicht richtig geändert. Das Aktualisieren dauert länger. Können Sie mir bitte Vorschläge zur Lösung dieses Problems machen?Touch-Position nicht korrekt aktualisiert in Touch-Gesten in Windows-Formular-Anwendung

In der folgenden Beispiel, wenn die Berührung schwenken die Touch-Punkte sind Updates in Ausgabefenster.

Replikationsverfahren: 1. Führen Sie die Probe 2. Starten Sie in vertikale Schwenken, finden die Positionen in Ausgabefenster aktualisiert 3. Dann das Schwenken in horizontaler fortsetzen, wird die x-Position nach der nur geändert ändern.

finden Sie die Probe von unten,

Sample Link

Antwort

0

fand ich die Lösung. Wenn der folgende Code für die Gestenkonfiguration gesetzt wird, funktioniert die Diagonal-Panning-Operation gut und auch das Positionsaktualisierungsproblem wurde gelöst.

GESTURECONFIG gc = new GESTURECONFIG(); 
        gc.dwID = GID_PAN; 
        gc.dwWant = GC_PAN_WITH_SINGLE_FINGER_VERTICALLY | GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY | GC_PAN_WITH_INTERTIA; 
        gc.dwBlock = GC_PAN_WITH_GUTTER; 
        bool bResult = SetGestureConfig(
         Handle, 
         0,  
         1,  
         ref gc, 
         _gestureConfigSize 
        );