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 |
|
| Bibliothek |
|