Freigeben über


InkOverlay-Klasse

Stellt ein -Objekt dar, das für Anmerkungsszenarien nützlich ist, in denen Benutzer nicht die Erkennung von Freihandeingaben durchführen, sondern sich stattdessen für Größe, Form, Farbe und Position der Freihandeingabe interessieren.

Durch das Erstellen des InkOverlay-Steuerelements hinter einem transparenten Steuerelement (z. B. einem GroupBox-Steuerelement mit festgelegter WS_EX_TRANSPARENT-Eigenschaft) wird verhindert , dass InkOverlay Freihandeingaben sammelt.

InkOverlay verfügt über folgende Membertypen:

Ereignisse

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

Ereignis BESCHREIBUNG
CursorButtonDown Tritt auf, wenn inkOverlay eine Cursorschaltfläche erkannt wird, die ausgefallen ist.
CursorButtonUp Tritt auf, wenn inkOverlay eine Cursorschaltfläche erkannt wird, 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ähe) des Tablet-Kontexts eingibt.
Cursoroutofrange Tritt auf, wenn der Cursor den physischen Erkennungsbereich (Nähe) des Tablet-Kontexts verlässt.
Doubleclick Tritt auf, wenn auf das InkOverlay-Objekt doppelklicken wird.
Geste Tritt auf, wenn eine anwendungsspezifische Geste erkannt wird.
MouseDown Tritt auf, wenn sich der Mauszeiger über dem InkOverlay-Objekt befindet und eine Maustaste gedrückt wird.
MouseMove Tritt auf, wenn der Mauszeiger über das InkOverlay-Objekt bewegt wird.
MouseUp Tritt auf, wenn sich der Mauszeiger über dem InkOverlay-Objekt befindet und eine Maustaste losgelassen wird.
Mousewheel Tritt auf, wenn das Mausrad bewegt wird, während das InkOverlay-Objekt den Fokus hat.
Newinairpackets Tritt auf, wenn ein In-Air-Paket angezeigt wird. Dies geschieht, wenn ein Benutzer einen Stift in die Nähe des Tablets bewegt und sich der Cursor im Fenster des InkOverlay-Objekts befindet oder der Benutzer eine Maus im zugeordneten Fenster des InkOverlay-Objektobjekts bewegt.
Newpackets Tritt auf, wenn das InkOverlay-Objekt Pakete empfängt.
Gemalt Tritt auf, wenn das InkOverlay-Objekt die Neuzeichnung selbst abgeschlossen hat.
Zeichnen Tritt auf, bevor das InkOverlay-Objekt sich selbst neu zeichnet.
SelectionChanged Tritt auf, wenn sich die Freihandauswahl innerhalb des Steuerelements geändert hat, z. B. durch Änderungen an der Benutzeroberfläche, durch Ausschneiden und Einfügen von Prozeduren oder durch die Selection-Eigenschaft .
Selectionchanging Tritt auf, wenn sich die Freihandauswahl innerhalb des Steuerelements ändert, z. B. durch Änderungen an der Benutzeroberfläche, durch Ausschneiden und Einfügen von Prozeduren oder durch die Selection-Eigenschaft .
Selectionmoved Tritt auf, wenn sich die Position der aktuellen Auswahl geändert hat, z. B. durch Änderungen an der Benutzeroberfläche, durch Ausschneiden und Einfügen von Prozeduren oder durch die Selection-Eigenschaft .
Selectionmoving Tritt auf, wenn sich die Position der aktuellen Auswahl ändert, z. B. durch Änderungen an der Benutzeroberfläche, Durchschneiden und Einfügen von Prozeduren oder die Selection-Eigenschaft .
Selectionresized Tritt auf, wenn sich die Größe der aktuellen Auswahl geändert hat, z. B. durch Änderungen an der Benutzeroberfläche, Durchschneiden und Einfügen von Prozeduren oder durch die Selection-Eigenschaft .
Selectionresizing Tritt auf, wenn sich die Größe der aktuellen Auswahl ändert, z. B. durch Änderungen an der Benutzeroberfläche, Durchschneiden und Einfügen von Prozeduren oder die Selection-Eigenschaft .
Strich Tritt auf, wenn der Benutzer das Zeichnen eines neuen Strichs auf einem beliebigen Tablet beendet.
StricheLöscht Tritt auf, nachdem Striche aus der Ink-Eigenschaft gelöscht wurden.
StricheLöschen Tritt auf, bevor Striche aus der Ink-Eigenschaft gelöscht werden.
Systemgesture Tritt auf, wenn eine Systemgeste erkannt wird.
Tabletadded Tritt auf, wenn dem System eine IInkTablet hinzugefügt wird.
Tabletremoved Tritt auf, wenn ein Tablet aus dem System entfernt wird.

Schnittstellen

Die InkOverlay-Klasse definiert diese Schnittstellen.

Schnittstelle BESCHREIBUNG
IInkOverlay Dieses Objekt implementiert die IInkOverlay-COM-Schnittstelle .

Methoden

Die InkOverlay-Klasse verfügt über diese Methoden.

Methode BESCHREIBUNG
Zeichnen Legt ein Rechteck fest, in dem die Freihandeingabe im InkOverlay-Objekt neu gezeichnet werden soll.
GetEventInterest Gibt den aktuellen Zustand eines bestimmten InkOverlay-Objektereignisses zurück, d. h. ob das Ereignis überwacht oder verwendet wird.
GetGestureStatus Gibt zurück, ob das InkOverlay-Objekt an einer bestimmten Geste interessiert ist.
GetWindowInputRectangle Ruft das Fensterrechteck in Pixeln ab, in dem freihand gezeichnet wird.
HitTestSelection Bestimmt, welcher Teil der Auswahl während eines Treffertests getroffen wurde.
Setalltabletsmode In diesem Modus kann das InkOverlay-Objekt Freihand von jedem Tablet sammeln, das an den Tablet-PC angeschlossen ist.
SetEventInterest Legt fest, ob ein bestimmtes Ereignis überwacht oder verwendet werden soll.
Setgesturestatus Legt das Interesse des InkOverlay-Objekts an einer bekannten Geste fest.
SetSingleTabletIntegratedMode In diesem Modus kann das InkOverlay-Objekt Freihand nur von einem Tablet sammeln. Freihandeingaben von anderen Tablets werden vom InkOverlay-Objekt ignoriert.
SetWindowInputRectangle Legt das Fensterrechteck in Pixel fest, das verwendet werden soll, um dem Fenster gezeichnete Freihandeingaben zuzuordnen.

Eigenschaften

Die InkOverlay-Klasse verfügt über diese Eigenschaften.

Eigenschaft Zugriffstyp BESCHREIBUNG
AttachMode
Lesen/Schreiben
Ruft den Wert ab, der angibt, ob das InkOverlay-Objekt hinter oder vor dem bekannten Fenster angefügt ist, oder legt ihn fest.
Autoredraw
Lesen/Schreiben
Ruft einen Wert ab, der angibt, ob die InkOverlay die Freihandeingabe neu zeichnet, wenn das Fenster ungültig ist, oder legt diesen fest.
CollectingInk
Schreibgeschützt
Ruft einen Wert ab, der angibt, ob freihand derzeit auf einem InkOverlay-Objekt gezeichnet wird.
CollectionMode
Lesen/Schreiben
Ruft den Auflistungsmodus ab, der bestimmt, ob Freihandeingaben, 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
Lesen/Schreiben
Ruft das Standardmäßige InkDrawingAttributes-Objekt ab, das die Zeichnungsattribute angibt, die beim Zeichnen und Anzeigen von Freihand verwendet werden, oder legt es fest.
DesiredPacketDescription
Lesen/Schreiben
Ruft Aspekte des Pakets ab, das mit freihandgezeichneter Freihandeingabe im InkOverlay-Objekt verknüpft ist, oder legt dieses Interesse fest.
Dynamicrendering
Lesen/Schreiben
Ruft einen Wert ab, der angibt, ob Freihand beim Zeichnen gerendert wird, oder legt ihn fest.
Editingmode
Lesen/Schreiben
Ruft einen Wert ab, der angibt, ob sich inkOverlay im Freihandmodus, im Löschmodus oder im Auswahl-/Bearbeitungsmodus befindet, oder legt diesen fest.
Aktiviert
Lesen/Schreiben
Ruft einen Wert ab, der angibt, ob das InkOverlay-Objekt Stifteingaben sammelt, oder legt diesen fest.
EraserMode
Lesen/Schreiben
Ruft einen Wert ab, der angibt, ob freihand durch Strich oder Punkt gelöscht wird, oder legt diesen fest.
RadiererWidth
Lesen/Schreiben
Ruft einen Wert ab, der die Breite der Radiererstiftspitze angibt, oder legt diesen fest.
Handle
Lesen/Schreiben
Ruft das Handle des Fensters ab, an das das InkOverlay-Objekt angefügt ist, oder legt dieses fest.
Freihand
Lesen/Schreiben
Ruft das InkDisp-Objekt ab, das dem InkOverlay-Objekt zugeordnet ist, oder legt es fest.
MarginX
Lesen/Schreiben
Ruft die Ränder entlang der x-Achse in Pixel ab oder legt diese fest.
MarginY
Lesen/Schreiben
Ruft die Ränder entlang der y-Achse in Pixel ab oder legt diese fest.
MouseIcon
Lesen/Schreiben
Ruft das aktuelle benutzerdefinierte Maussymbol ab oder legt es fest.
Mousepointer
Lesen/Schreiben
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
Lesen/Schreiben
Ruft das InkRenderer-Objekt ab, das zum Zeichnen von Freihand verwendet wird, oder legt es fest.
Auswahl
Lesen/Schreiben
Ruft die InkStrokes-Auflistung ab, die derzeit im InkOverlay-Steuerelement ausgewählt ist, oder legt diese fest.
SupportHighContrastInk
Lesen/Schreiben
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.
SupportHighContrastSelectionUI
Lesen/Schreiben
Ruft einen Wert ab, der angibt, ob die gesamte Auswahlbenutzeroberfläche in hohem Kontrast gezeichnet 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 InkOverlay-Objekt derzeit zum Sammeln von Eingaben verwendet.

Hinweise zur MFC-Implementierung

Wenn Sie das InkOverlay-Objekt an ein CView-Objekt angefügt haben, geben Sie das InkOverlay-Objekt als Reaktion auf die WM_DESTROY-Meldung frei, wie im folgenden Beispiel gezeigt:

BOOL CRecognitionAlternatesSampleCppView::OnWndMsg(UINT msg, WPARAM wp, PARAM lp, LRESULT *pLR)
{
    if(WM_DESTROY == msg)
        m_spInkOverlay.Release();
    return CView::OnWndMsg(msg, wp, lp, pLR);
}

Bemerkungen

Dieses Objekt kann instanziiert werden, indem die CoCreateInstance-Methode in C++ aufgerufen wird.

Das InkOverlay-Objekt eignet sich gut für Notizen und einfaches Scribbling. Die primäre beabsichtigte Verwendung dieses Objekts besteht darin, Freihand als Freihandeingabe anzuzeigen.

Im Allgemeinen ist die Laufzeitbenutzeroberfläche für dieses Objekt ein transparentes Fenster mit undurchsichtiger Freihandeingabe.

Die Ereignisse MouseDown, MouseMove, MouseUp und MouseWheel geben X-Koordinaten 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.

Achtung

Wenn Sie die AttachMode-Eigenschaft des InkOverlay-Objekts auf InFront festlegen, erstellen Sie das InkOverlay-Objekt in dem Thread, in dem das Formular ausgeführt wird. Ihre Anwendung reagiert möglicherweise nicht mehr, wenn das InkOverlay-Objekt in einem anderen Thread erstellt wird und dessen AttachMode-Eigenschaft auf InFront festgelegt ist.

Hinweis

Das InkOverlay-Objekt kann nicht sicher in einem Nicht-UI-Thread freigegeben werden.

Um die Leistung Ihrer Anwendung zu verbessern, entsorgen Sie Ihr InkOverlay-Objekt , wenn es nicht mehr benötigt wird.

Wenn Sie das InkOverlay-Objekt an ein CView-Objekt angefügt haben, geben Sie das InkOverlay-Objekt als Reaktion auf die WM_DESTROY-Meldung frei, wie im folgenden Beispiel gezeigt:

BOOL CRecognitionAlternatesSampleCppView::OnWndMsg(UINT msg, WPARAM wp, PARAM lp, LRESULT *pLR)
{
    if(WM_DESTROY == msg)
        m_spInkOverlay.Release();
    return CView::OnWndMsg(msg, wp, lp, pLR);
}

Anforderungen

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

Weitere Informationen

InkCollector-Klasse

InkPicture-Steuerelementreferenz

InkEdit-Steuerelementreferenz