Freigeben über


Streichen von Gesten

Windows Vista enthält eine Reihe von acht grundlegenden Streichbewegungen. Streichen sind schnelle, lineare Stiftbewegungen, die bildlaufaktionen und -befehle zugeordnet sind.

Streichdetails

Das Feature "Streichen" bietet dem Benutzer eine neue Möglichkeit, mit dem Tablet PC zu interagieren, indem häufige Aktionen ausgeführt werden können, indem er schnelle Gesten mit dem Stift ausführt. Streicht koexistieren und unterbrechen sie nicht, normale Benutzeraktionen wie Links- und Rechtstippen, Scrollen und Freihandeingaben.

Eine Streichbewegung ist eine unidirektionale Stiftgeste, die erfordert, dass der Benutzer den Digitalisierungsgerät in einer schnellen Streichbewegung kontaktiert. Ein Streichen zeichnet sich durch hohe Geschwindigkeit und ein hohes Maß an Geraden aus. Ein Streich wird durch seine Richtung identifiziert. Streichen können in acht Richtungen erfolgen, die den Kardinal- und Sekundärkompassrichtungen entsprechen.

Eine Aktion oder Streichaktion ist die Aktion oder Verknüpfung, die als Reaktion auf eine Streichbewegung ausgeführt wird. Streichen werden Aktionen zugeordnet. Die folgende Abbildung zeigt ein Diagramm mit acht Stiftflimmern, die ihren Streichaktionen entsprechen.

Abbildung der Gestikkarte

Wenn der Benutzer den Stift über den Digitalisierungsgerät eines Tablet-PCs bewegt, generiert die Hardware Stiftpakete, die an das Stifteingabesubsystem der Tablet PC-Plattform weitergeleitet werden. Wenn der Stift normalerweise als Ersatz für die Maus verwendet wird, verwendet das Stifteingabesubsystem diese Stiftpakete und sendet sie, möglicherweise mit Änderungen, an User32, die Für die Verarbeitung der Mauseingabe verantwortlich ist. Wenn der Stift auf einer Freihandoberfläche verwendet wird, wird Freihandeingaben gerendert, anstatt Mauspakete zu generieren.

Die Streicherkennungsroutine wird im Stifteingabesubsystem implementiert. Die Streicherkennung beginnt am Stift nach unten und wird bis zu einer der folgenden Aktionen fortgesetzt:

  1. Die Abfolge der empfangenen Pakete wird nicht als Streichung oder

  2. Pen-up tritt auf.

Während die Streicherkennung auftritt, werden Stiftpakete zurückgehalten und nicht an das System gesendet. Dies muss erfolgen, da das Senden von Paketen die ausgeführte Streichaktion beeinträchtigen kann. Beispielsweise würde das Senden von Paketen während eines Streichs, der einer Kopieraktion zugeordnet ist, das ausgewählte Element schließen, was bedeutet, dass es zum Zeitpunkt des Sendens der Aktion nichts zu kopieren gibt.

Während die Pakete in das Stifteingabesubsystem fließen, berechnet die Streicherkennungsroutine Metriken zu Länge, Geschwindigkeit, Zeit und Krümmung der ausgeführten Bewegung. Bei jedem empfangenen Paket aktualisiert die Erkennungsroutine jede dieser Metriken. Sobald eine der Metriken außerhalb liegt, was eine Streichbewegung darstellen würde, endet die Flickerkennung und die Pakete werden gesendet.

Wo Streichen erkannt werden

Streichgesten werden durch die Tatsache ermöglicht, dass Ziehaktionen in der Regel eher langsam ausgeführt werden. Der Benutzer muss zuerst auf den Startpunkt des Ziehens abzielen, den Ziehvorgang ausführen und dann auf den Endpunkt abzielen. Normalerweise dauert dies zu lange, um sich als Streichen zu qualifizieren. Auf Freihandflächen sind jedoch schnelle Striche, die häufig als Streichungen gelten würden; Das Überschreiten eines "t" ist ein gängiges Beispiel. Daher ist die Streicherkennung standardmäßig über Freihandflächen deaktiviert und systemweit aktiviert.

Fokusprobleme

Sobald ein Streich erkannt wurde, beginnt eine Abfolge von Ereignissen, die letztendlich dazu führt, dass das System eine bestimmte Aktion als Reaktion auf den aufgetretenen Streich ausführt. Zunächst bestimmt die Erkennungsroutine im Stifteingabesubsystem, an welches Fenster die Streichbewegung gesendet werden soll. Dies ist in der Regel das Fenster, das den Fokus hat, aber es gibt Ausnahmen. Bei Bildlaufflimmern wird die Streichbewegung an das Fenster gesendet, über das das Streichen aufgetreten ist. Beachten Sie, dass dies nicht unbedingt das Fenster mit Fokus ist. Wenn ein Streichen an ein Fenster gesendet wird, das nicht den Fokus besitzt, ändert sich der Fokus nicht in dieses Fenster.

Streichaktionen

Nachdem das Zielfenster festgelegt wurde, kann dieses Fenster abhängig vom Standard- oder programmierten Ereignisverhalten das Streichen selbst behandeln. Anwendungen können auf die Aktion reagieren, die basierend auf der Anwendung und der Richtung und Position des Streichs am besten geeignet ist. In einer Zuordnungsanwendung können z. B. Streichungen nach oben und unten vertikal verkleinern oder verkleinern, anstatt vertikal zu scrollen, wie es vom Standardverhalten aus erwartet wird.

Um eine Anwendung zu benachrichtigen, dass ein Streich aufgetreten ist, wird eine Fensternachricht an sie gesendet. Diese Fenstermeldung enthält sowohl den Startpunkt der Streichbewegung als auch die Richtung des Streichs. Wenn die Anwendung diese Fenstermeldung behandelt, wird vom Stifteingabesubsystem keine weitere Aktion ausgeführt.

Nachdem ein Streich erkannt wurde, wird visuelles Feedback, das die Streichaktion darstellt, auf dem Bildschirm angezeigt. Dieses Feedback dient zwei Zwecken. Zunächst bestätigt er für den Benutzer, dass der Streich erfolgreich war. Zweitens erinnert er den Benutzer daran, welche Aktion ausgeführt wurde, wodurch der Benutzer die Streichrichtung mit der zugehörigen Aktion verbindet.

Das Streichfeedback besteht aus zwei Teilen; ein Symbol, das die Aktion und eine Beschriftung mit dem Namen der Aktion darstellt. Die Beschriftung wird unterhalb des Symbols angezeigt. Das Feedback wird unmittelbar nach dem Erkennen des Streichs angezeigt. Obwohl Anwendungen ihr Verhalten als Reaktion auf Streichungen anpassen können, indem sie die Streichfenstermeldung behandeln, kann die Anwendung das Streichfeedback nicht deaktivieren oder ändern.

Es wird erwartet, dass die meisten Anwendungen nicht streichen und daher die oben beschriebene Fenstermeldung nicht behandeln. Wenn die Nachricht nicht behandelt wird, wird das Stifteingabesubsystem weitere Maßnahmen ergreifen. Zunächst wird die Aktion nach der Richtung des erkannten Streichs nachschlagen. Als Nächstes werden Schritte (in der folgenden Tabelle beschrieben) ausgeführt, damit das Zielfenster diese Aktion ausführt. Für viele Der Streichaktionen umfasst dies das Senden eines Anwendungsbefehls, aber bestimmte Aktionen, die implementiert werden, nicht.

Verarbeiten von Anwendungsbefehlen

Ihre Anwendung sollte auf alle Anwendungsbefehle reagieren, die möglicherweise einer Streichbewegung zugewiesen werden können. Wenn eine Anwendung nicht auf die WM_TABLET_FLICK Messageantwortet, folgt Windows Vista, indem die entsprechende WM_APPCOMMAND-Benachrichtigung gesendet wird, gefolgt von einer WM_KEYDOWN-Benachrichtigung.

Im Folgenden finden Sie eine Liste der Anwendungsbefehle, die Streichen zugewiesen werden können, mit der Nachricht für die Sicherungstasteneingabe, die möglicherweise gesendet wird.

Befehl Sicherungstastenanschlag
APPCOMMAND_BROWSER_BACKWARD
Nichts
APPCOMMAND_BROWSER_FORWARD
Nichts
APPCOMMAND_COPY
STRG+C
APPCOMMAND_PASTE
STRG+V
APPCOMMAND_UNDO
STRG+Z
APPCOMMAND_DELETE
Del
APPCOMMAND_CUT
STRG+X
APPCOMMAND_OPEN
STRG+O
APPCOMMAND_PRINT
STRG+P
APPCOMMAND_SAVE
STRG+S
APPCOMMAND_REDO
STRG+Y
APPCOMMAND_CLOSE

Bearbeitungsbefehle wie "Kopieren", "Einfügen", "Ausschneiden" und "Löschen" können gegen eine Auswahl oder gegen das Objekt gerichtet werden, das sich auf der Basis der Streichbewegung befindet. Wenn keine Auswahl vorhanden ist, können Sie die Daten in der FLICK_POINT Struktur verwenden, um zu bestimmen, welche Objekte ggf. das Ziel des Bearbeitungsbefehls waren.

Flicks-API-Referenz

Reaktion auf Streichgesten