InkCollector-Klasse
Stellt das Objekt dar, das zum Erfassen von Freihand von verfügbaren Tablet-Geräten verwendet wird.
Das Erstellen des InkCollector-Steuerelements hinter einem transparenten Steuerelement (z. B. einem GroupBox-Steuerelement mit der WS_EX_TRANSPARENT-Eigenschaft ) verhindert , dass InkCollector Freihand sammelt.
InkCollector verfügt über die folgenden Membertypen:
Ereignisse
Die InkCollector-Klasse weist diese Ereignisse auf.
Ereignis | BESCHREIBUNG |
---|---|
CursorButtonDown | Tritt auf, wenn der InkCollector eine Cursorschaltfläche erkennt, die nach unten ist. |
CursorButtonUp | Tritt auf, wenn der InkCollector eine Cursorschaltfläche erkennt, die aktiviert ist. |
Cursordown | Tritt auf, wenn die Cursorspitze die digitalisierte Tablet-Oberfläche kontaktiert. |
Cursorinrange | Tritt auf, wenn ein Cursor in den physischen Erkennungsbereich (Näherung) des Tablet-Kontexts eintritt. |
Cursoroutofrange | Tritt auf, wenn der Cursor den physischen Erkennungsbereich (Näherung) des Tablet-Kontexts verlässt. |
Doubleclick | Tritt auf, wenn auf das InkCollector-Objekt doppelt geklickt wird. |
Geste | Tritt auf, wenn eine anwendungsspezifische Geste erkannt wird. |
MouseDown | Tritt auf, wenn sich der Mauszeiger über das InkCollector-Objekt befindet und eine Maustaste gedrückt wird. |
MouseMove | Tritt auf, wenn der Mauszeiger über das InkCollector-Objekt verschoben wird. |
MouseUp | Tritt auf, wenn sich der Mauszeiger über das InkCollector-Objekt befindet und eine Maustaste losgelassen wird. |
Mousewheel | Tritt auf, wenn sich das Mausrad bewegt, während das InkCollector-Objekt den Fokus hat. |
Newinairpackets | Tritt auf, wenn ein In-Air-Paket angezeigt wird. Dies geschieht, wenn ein Benutzer einen Stift in der Nähe des Tablets bewegt und sich der Cursor im Fenster des InkCollector-Objekts befindet oder wenn der Benutzer eine Maus im zugeordneten Fenster des InkCollector-Objektobjekts bewegt. |
Newpackets | Tritt auf, wenn das InkCollector-Objekt Pakete empfängt. |
Strich | Tritt auf, wenn der Benutzer mit dem Zeichnen eines neuen Strichs auf einem beliebigen Tablet fertig ist. |
Systemgesture | Tritt auf, wenn eine Systemgeste erkannt wird. |
Tabletadded | Tritt auf, wenn dem System ein Tablet hinzugefügt wird. |
Tabletremoved | Tritt auf, wenn ein Tablet aus dem System entfernt wird. |
Schnittstellen
Die InkCollector-Klasse definiert diese Schnittstellen.
Schnittstelle | BESCHREIBUNG |
---|---|
IInkCollector | Dieses Objekt implementiert die IInkCollector-COM-Schnittstelle . |
Methoden
Die InkCollector-Klasse verfügt über diese Methoden.
Methode | BESCHREIBUNG |
---|---|
GetEventInterest | Ruft den aktuellen Zustand eines bestimmten InkCollector-Objektereignisses ab, d. h. ob das Ereignis überwacht oder verwendet wird. |
GetGestureStatus | Ruft ab, ob das InkCollector-Objekt an einer bestimmten Geste interessiert ist. |
GetWindowInputRectangle | Ruft das Fensterrechteck in Pixel ab, in dem Freihand gezeichnet wird. |
Setalltabletsmode | In diesem Modus kann das InkCollector-Objekt Freihand von jedem Tablet sammeln, das an den Tablet-PC angeschlossen ist. |
SetEventInterest | Ändert einen Wert, der angibt, ob ein bestimmtes Ereignis überwacht oder verwendet werden soll. |
Setgesturestatus | Ändert das Interesse des InkCollector-Objekts an einer bekannten Geste. |
SetSingleTabletIntegratedMode | In diesem Modus kann das InkCollector-Objekt Freihand nur von einem Tablet sammeln. Freihandeingaben von anderen Tablets werden vom InkCollector-Objekt ignoriert. |
SetWindowInputRectangle | Ändert das Fensterrechteck in Pixel, um gezeichnete Freihand dem Fenster zuzuordnen. |
Eigenschaften
Die InkCollector-Klasse verfügt über diese Eigenschaften.
Eigenschaft | Zugriffstyp | BESCHREIBUNG |
---|---|---|
Autoredraw |
Schreibgeschützt |
Ruft einen Wert ab, der angibt, ob der InkCollector die Freihandfarbe neu streicht, wenn das Fenster ungültig ist, oder legt diesen fest. |
CollectingInk |
Schreibgeschützt |
Ruft einen Wert ab, der angibt, ob freihand derzeit für ein InkCollector-Objekt gezeichnet wird. |
CollectionMode |
Schreibgeschützt |
Ruft den Auflistungsmodus ab, der bestimmt, ob Freihand, Gesten oder beides beim Schreiben des Benutzers erkannt werden, oder legt diesen fest. |
Cursor |
Schreibgeschützt |
Ruft die Cursors-Auflistung ab, die für die Verwendung im Freihandbereich verfügbar ist. |
DefaultDrawingAttributes |
Schreibgeschützt |
Ruft das Standardobjekt InkDrawingAttributes ab, das die Zeichnungsattribute angibt, die beim Zeichnen und Anzeigen von Freihand verwendet werden, oder legt es fest. |
DesiredPacketDescription |
Schreibgeschützt |
Ruft Aspekte des Pakets ab, die freihand zugeordnet sind, die für das InkCollector-Objekt gezeichnet wurden, oder legt das Interesse fest. |
Dynamicrendering |
Schreibgeschützt |
Ruft einen Wert ab, der angibt, ob Freihand beim Zeichnen gerendert wird, oder legt ihn fest. |
Aktiviert |
Schreibgeschützt |
Ruft einen Wert ab, der angibt, ob das InkCollector-Objekt Stifteingaben sammelt, oder legt diesen fest. |
Handle |
Schreibgeschützt |
Ruft das Handle des Fensters ab, an das das InkCollector-Objekt angefügt ist, oder legt dieses fest. |
Freihand |
Schreibgeschützt |
Ruft das InkDisp-Objekt ab, das dem InkCollector-Objekt zugeordnet ist, oder legt es fest. |
MarginX |
Schreibgeschützt |
Ruft die Ränder entlang der x-Achse in Pixel ab oder legt diese fest. |
MarginY |
Schreibgeschützt |
Ruft die Ränder entlang der y-Achse in Pixel ab oder legt diese fest. |
MouseIcon |
Schreibgeschützt |
Ruft das aktuelle benutzerdefinierte Maussymbol ab oder legt es fest. |
Mousepointer |
Schreibgeschützt |
Ruft einen Wert ab, der den Typ des Mauszeigers angibt, der angezeigt wird, wenn sich die Maus über einem bestimmten Teil des Objekts befindet, oder legt diesen fest. |
Renderer |
Schreibgeschützt |
Ruft das InkRenderer-Objekt ab, das zum Zeichnen von Freihand verwendet wird, oder legt es fest. |
SupportHighContrastInk |
Schreibgeschützt |
Ruft einen Wert ab, der angibt, ob Freihand als nur eine Farbe gerendert wird, wenn sich das System im Modus "Hoher Kontrast" befindet, oder legt diesen fest. |
Tablet |
Schreibgeschützt |
Ruft das Tablet-Gerät ab, das das InkCollector-Objekt derzeit zum Sammeln von Eingaben verwendet. |
Bemerkungen
Dieses Objekt kann instanziiert werden, indem die CoCreateInstance-Methode in C++ aufgerufen wird.
Das InkCollector-Objekt sammelt nur Freihandeingaben und Gesten, die in das bestimmte Fenster eingegeben werden, dem es zugeordnet ist. Der einzige Zweck von InkCollector besteht darin, Freihandeingaben von der Hardware (z. B. über ein IInkCursor - und IInkTablet-Objekt ) zu sammeln und an eine Anwendung zu übermitteln. Es fungiert im Wesentlichen als Quelle, die Freihand in ein oder mehrere verschiedene InkDisp-Objekte verteilt, die als Container fungieren, der die verteilte Freihandeingabe enthält.
Um einen InkCollector zu verwenden, erstellen Sie ihn, teilen Sie ihm mit, in welchem Fenster gezeichnete Freihandeingaben erfasst werden sollen, und aktivieren Sie sie. Nachdem es aktiviert wurde, kann er so festgelegt werden, dass er nur in einem von drei Modi erfasst wird (der Modus wird in der InkCollectionMode-Enumeration angegeben):
- InkOnly, in dem ein IInkStrokeDisp-Objekt erstellt wird.
- GestureOnly, in dem ein IInkGesture-Objekt erstellt wird.
- InkAndGesture, bei dem ein Strich, eine Geste oder möglicherweise beides erstellt werden, je nachdem, wie die Anwendung Ereignisse behandelt.
Dies bedeutet, dass der InkCollector für jede Bewegung eines Cursors, die sich innerhalb des Bereichs eines Tablets befindet, immer entweder einen Strich oder eine Geste und manchmal beides sammelt. Die Gestenunterstützung ist mit der Microsoft-Gestenerkennung integriert.
Ein InkCollector verarbeitet alle Tablet-Eingaben. Freihand kann von allen angeschlossenen Tabletten (einschließlich der Maus) gleichzeitig gesammelt werden. Änderungen in den IInkCursor - und IInkCursorButton-Objekten können dazu führen, dass das InkCollector-Objekt ein Ereignis auslöst.
Ein InkCollector verwaltet auch die Liste der Cursor, die während seiner Existenz angezeigt werden. Wenn der InkCollector auf einen neuen Cursor trifft, wird das CursorInRange-Ereignis ausgelöst, wobei der parameter newCursor auf VARIANT_TRUE festgelegt ist. Anwendungen verwenden den InkCollector , um neue Cursor zu verwalten.
Einem bestimmten Fensterhandle können mehrere InkCollector zugeordnet werden, auch wenn sich deren Sammlungsbereiche, die im Konstruktor oder mit der SetWindowInputRectangle-Methode festgelegt sind, überlappen. Dieses Szenario funktioniert jedoch nur, wenn jeder InkCollectorSetSingleTabletIntegratedMode aufruft und ein eindeutiges Tablet verwendet. Dieses Verhalten erleichtert das Speichern von Freihand in einem separaten Objekt für jedes Tablet.
Ein Fehler tritt auf, wenn das Fenstereingaberechteck eines aktivierten InkCollectors (festgelegt mit der Enabled-Eigenschaft ) das Fenstereingaberechteck eines anderen aktivierten InkCollector überlappt.
Hinweis
Überlappungen können ohne Fehler auftreten, solange zu einem bekannten Zeitpunkt nur eines der Eingaberechtecke aktiviert ist.
Die Ereignisse MouseDown, MouseMove, MouseUp und MouseWheel geben x- und y-Koordinaten in Pixel zurück, nicht die HIMETRIC-Einheiten, die dem Freihandbereich zugeordnet sind. Dies liegt daran, dass diese Ereignisse die Mausereignisse von nicht fähigen Anwendungen ersetzen und diese Anwendungen nur Pixel verstehen.
Hinweis
Das InkCollector-Objekt kann nicht sicher in einem Nicht-UI-Thread freigegeben werden.
Um die Leistung Ihrer Anwendung zu verbessern, verwerfen Sie Ihr InkCollector-Objekt , wenn es nicht mehr benötigt wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows XP Tablet PC Edition [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Nicht unterstützt |
Header |
|
Bibliothek |
|