InkCollector-Klasse

Stellt das -Objekt dar, das verwendet wird, um Freihand von verfügbaren Tablet-Geräten zu erfassen.

Durch das Erstellen des InkCollector-Steuerelements hinter einem transparenten Steuerelement (z. B. ein GroupBox-Steuerelement mit festgelegter WS _ EX _ TRANSPARENT-Eigenschaft) wird verhindert, dass InkCollector InkCollector Inkk erfasst.

InkCollector verfügt über folgende Typen von Membern:

Events

Die InkCollector-Klasse verfügt über diese Ereignisse.

Ereignis BESCHREIBUNG
CursorButtonDown Tritt ein, wenn der InkCollector eine Cursorschaltfläche erkennt, die nicht aktiv ist.
CursorButtonUp Tritt ein, wenn der InkCollector eine Cursorschaltfläche erkennt, die aktiv ist.
Cursordown Tritt ein, wenn die Cursorspitze mit der digitalisierenden Tablettoberfläche in Kontakt tritt.
Cursorinrange Tritt ein, wenn ein Cursor in den physischen Erkennungsbereich (Näherung) des Tabletkontexts eintritt.
Cursoroutofrange Tritt ein, wenn der Cursor den physischen Erkennungsbereich (Nähe) des Tabletkontexts verlässt.
Doubleclick Tritt ein, wenn auf das InkCollector-Objekt doppelklickt wird.
Geste Tritt ein, wenn eine anwendungsspezifische Geste erkannt wird.
Mousedown Tritt ein, wenn sich der Mauszeiger über dem InkCollector-Objekt befindet und eine Maustaste gedrückt wird.
Mousemove Tritt ein, wenn der Mauszeiger über das InkCollector-Objekt bewegt wird.
Mouseup Tritt ein, wenn sich der Mauszeiger über dem InkCollector-Objekt befindet und eine Maustaste losgelassen wird.
Mousewheel Tritt ein, wenn das Mausrad bewegt wird, während das InkCollector-Objekt den Fokus besitzt.
Newinairpackets Tritt auf, wenn ein In-Air-Paket angezeigt wird. Dies geschieht, wenn ein Benutzer einen Stift in der Nähe des Tabletts verschiebt und sich der Cursor im Fenster des InkCollector-Objekts befindet oder der Benutzer eine Maus innerhalb des zugeordneten Fensters des InkCollector-Objektobjekts bewegt.
Newpackets Tritt ein, wenn das InkCollector-Objekt Pakete empfängt.
Takt Tritt ein, wenn der Benutzer mit dem Zeichnen eines neuen Strichs auf einem Tablet fertig ist.
Systemgesture Tritt ein, wenn eine Systemgeste erkannt wird.
Tabletadded Tritt ein, wenn dem System ein Tablet hinzugefügt wird.
Tabletremoved Tritt ein, wenn ein Tablet aus dem System entfernt wird.

Schnittstellen

Diese Schnittstellen werden von der InkCollector-Klasse definiert.

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 Ink gezeichnet wird.
Setalltabletsmode In diesem Modus kann das InkCollector-Objekt Inkk von jedem Tablet sammeln, das an den Tablet PC angefügt ist.
SetEventInterest Ändert einen Wert, der angibt, ob ein bestimmtes Ereignis überwacht oder verwendet werden soll.
Setgesturestatus Ändert das Interesse des InkCollector-Objekts in einer bekannten Geste.
SetSingleTabletIntegratedMode In diesem Modus kann das InkCollector-Objekt Nur InkCollector von nur einem Tablet erfassen. InkCollector von anderen Tablets wird vom InkCollector-Objekt ignoriert.
SetWindowInputRectangle Ändert das Fensterrechteck in Pixel, um gezeichnete Ink 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 Ink-Eigenschaft neu zeichnet, wenn das Fenster ungültig wird, oder legt diesen fest.
CollectingInk
Schreibgeschützt
Ruft einen Wert ab, der angibt, ob in einem InkCollector-Objekt gerade InkCollector gezeichnet wird.
CollectionMode
Schreibgeschützt
Ruft den Auflistungsmodus ab, der bestimmt, ob Ink, Gesten oder beides beim Schreiben des Benutzers erkannt werden, oder legt diesen fest.
Cursor
Schreibgeschützt
Ruft die Cursorauflistung ab, die für die Verwendung im Freihandbereich verfügbar ist.
DefaultDrawingAttributes
Schreibgeschützt
Ruft das Standardmäßige InkDrawingAttributes-Objekt ab, das die Zeichnungsattribute angibt, die beim Zeichnen und Anzeigen von Ink verwendet werden, oder legt dieses fest.
DesiredPacketDescription
Schreibgeschützt
Ruft das Interesse an Aspekten des Pakets ab, das dem inkCollector-Objekt gezeichneten InkCollector zugeordnet ist, oder legt dieses fest.
Dynamicrendering
Schreibgeschützt
Ruft einen Wert ab, der angibt, ob ink beim Gezeichneten gerendert wird, oder legt diesen fest.
Aktiviert
Schreibgeschützt
Ruft einen Wert ab, der angibt, ob das InkCollector-Objekt Stifteingaben sammelt, oder legt diesen fest.
Behandeln
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 dieses fest.
MarginX
Schreibgeschützt
Ruft die Ränder entlang der X-Achse in Pixel ab oder legt sie fest.
MarginY
Schreibgeschützt
Ruft die Ränder entlang der y-Achse in Pixel ab oder legt sie 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 Ink verwendet wird, oder legt dieses fest.
SupportHighContrastInk
Schreibgeschützt
Ruft einen Wert ab, der angibt, ob Ink als nur eine Farbe gerendert wird, wenn sich das System im hoher Kontrast befindet, oder legt diesen fest.
Tablet
Schreibgeschützt
Ruft das Tablettgerät ab, das das InkCollector-Objekt derzeit zum Erfassen von Eingaben verwendet.

Bemerkungen

Dieses Objekt kann durch Aufrufen der CoCreateInstance-Methode in C++ instanziiert werden.

Das InkCollector-Objekt erfasst nur Ink- und Gesten, die in das spezifische Fenster eingegeben werden, dem es zugeordnet ist. Der einzige Zweck von InkCollector besteht in der Erfassung von Ink-Daten von der Hardware (z. B. über ein IInkCursor- und IInkTablet-Objekt) und deren Bereitstellung an eine Anwendung. Sie fungiert im Wesentlichen als Quelle, die Dieb in ein oder viele verschiedene InkDisp-Objekte verteilt, die als Container fungieren, der die verteilte Ink-Datei enthält.

Um einen InkCollector zu verwenden, erstellen Sie ihn, teilen ihm mit, in welchem Fenster gezeichnete Ink-Daten gesammelt und aktiviert werden. Nachdem sie aktiviert wurde, kann sie so festgelegt werden, dass sie 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 wird, je nachdem, wie die Anwendung Ereignisse behandelt.

Dies bedeutet, dass der InkCollector für jede Bewegung eines Cursors innerhalb des Bereichs eines Tablets immer entweder einen Strich oder eine Geste erfasst und manchmal beides. Die Gestenunterstützung ist mithilfe der Gestenerkennung von Microsoft integriert.

Ein InkCollector verarbeitet alle Tableteingaben. Ink kann von allen angefügten Tablets (einschließlich der Maus) gleichzeitig gesammelt werden. Änderungen an den IInkCursor- und IInkCursorButton-Objekten können dazu führen, dass das InkCollector-Objekt ein Ereignis ausspricht.

Ein InkCollector verwaltet auch die Liste der Cursor, die während seiner Existenz auftreten. Wenn der InkCollector einen neuen Cursor findet, wird das CursorInRange-Ereignis mit dem parameter newCursor auf VARIANT TRUE _ festgelegt. Anwendungen verwenden den InkCollector, um neue Cursor zu verwalten.

Mehr als ein InkCollector kann einem bestimmten Fensterhandle zugeordnet werden, auch wenn sich deren Sammlungsbereiche im Konstruktor oder mit der SetWindowInputRectangle-Methode überlappen. Dieses Szenario funktioniert jedoch nur, wenn jeder InkCollector SetSingleTabletIntegratedMode aufruft und ein eindeutiges Tablet verwendet. Dieses Verhalten erleichtert das Speichern von Ink 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 nur eines der Eingaberechtecke zu einem bekannten Zeitpunkt aktiviert ist.

Die Ereignisse MouseDown, MouseMove, MouseUpund MouseWheel geben x- und y-Koordinaten in Pixel und nicht die HIMETRIC-Einheiten zurück, die dem Freiraum zugeordnet sind. Dies liegt daran, dass diese Ereignisse die Mausereignisse von Nicht-Stiftanwendungen 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, veralten Sie Das InkCollector-Objekt, wenn es nicht mehr benötigt wird.

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Nur Desktop-Apps der XP Tablet PC Edition []
Unterstützte Mindestversion (Server)
Nicht unterstützt
Header
Msinkaut.h (erfordert auch Msinkaut _ i.c)
Bibliothek
InkObj.dll

Weitere Informationen

InkEdit-Steuerelementreferenz

InkDisp-Klasse

InkOverlay-Klasse

InkPicture-Steuerelementreferenz