Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um die Unterstützung von Freihand in Anwendungen zu unterstützen, gibt es zwei Objekte, die eingebettet werden können und von jedem OLE-Container, dem Text-Freihandobjekt (tInk) und dem Skizzen-Freihandobjekt (sInk) unterstützt werden.
Das Text-Freihandobjekt ist ein OLE-Objekt, das Freihandeingaben darstellt, von denen erwartet wird, dass sie Wörter bilden. Ein Text-Freihandobjekt ermöglicht es, die handschriftliche Freihandeingabe in Text zu konvertieren, indem aus einer Liste von Alternativen ausgewählt wird. Die Farbe und Größe des Freihandobjekts kann programmgesteuert festgelegt werden und kann auf den Attributen des Texts um das Objekt basieren. Das Text-Freihandobjekt soll ein einzelnes Wort enthalten.
Das Text-Freihandobjekt unterstützt den Standardsatz von OLE-Schnittstellen, die für die Einbettung und die Unterstützung der Zwischenablage erforderlich sind. Die IPersistStream-Schnittstelle liest aus und schreibt in einen Stream im serialisierten Freihandformat (ISF). Das Text-Freihandobjekt stellt die IInkLineInfo-Schnittstelle bereit, um auf die Anzeigeeigenschaften und die Erkennungsergebnisliste zuzugreifen.
Das Text-Freihandobjekt kann für die Interoperabilität zwischen Anwendungen verwendet werden, indem es entweder im OLE-Objektslot in der Zwischenablage platziert, in RTF eingebettet oder in einem ISF-Stream beibehalten wird.
Ein Text-Freihandobjekt kann auf folgende Weise generiert werden.
- Das InkEdit-Steuerelement verwendet das Text-Freihandobjekt. Die Funktionalität des InkEdit-Steuerelements ist ein Supersatz der Standardmäßigen RichEdit-Steuerelementfunktionalität. Freihand wird als Freihandobjekt in den RTF-Stream des InkEdit-Steuerelements eingefügt.
- Wenn eine Anwendung ein InkStrokes - oder InkEdit-Objekt in die Clipboard kopiert und das InkClipboardFormats Enumerations-Format festgelegt ist, enthält der Zwischenablageslot des OLE-Objekts ein OLE-Freihand-OLE-Objekt.
- Der Tablet-PC-Eingabebereich kann Texteingabeobjekte generieren.
Beispielsweise kann Ihre Anwendung Handschriften erkennen und das Erkennungsergebnis den Strichen hinzufügen. Wenn Sie dann die Striche kopieren und in Microsoft Word als Text-Freihandobjekt einfügen, sind Alternative für dieses Wort in Word 2003 und höheren Versionen verfügbar.
Damit Texteingabeobjekte erfolgreich enthalten können, muss eine Anwendung OLE-Containerunterstützung für eingebettete Objekte implementieren. Damit der Container dann Texteingaben vollständig unterstützt, müssen Sie Folgendes erstellen:
- Änderungen an der Anwendung für Suchen und Ersetzen. Anstatt eingebettete Objekte in der Suche zu überspringen, müssen diese Objekte nach dem Typ abgefragt werden. Wenn es sich um ein Freihandobjekt handelt, müssen sie instanziiert und nach dem entsprechenden Text abgefragt werden.
- Änderungen am Auswahlverhalten. Die Auswahl von Text-Freihandobjekten sollte nie mit Größenhandles angezeigt werden. Sie sollten auf die gleiche Weise wie Text im Dokument ausgewählt werden. Auswahlcode für Objekte muss erkennen, ob es sich bei dem Typ um Freihand handelt, und die Auswahl muss entsprechend angezeigt werden.
- Verwendung von Umgebungseigenschaften. Umgebungseigenschaften wie Schriftgrad, Farbe und Fettformatierung müssen an das Text-Freihandobjekt übertragen werden. Die Anwendung dieser Eigenschaften ändert die Breite der handschriftlichen Freihandeingabe, sodass eine Größenaktualisierung durch Aufrufen der IInkLineInfo::GetInkExtent - oder IOleObject::GetExtent-Methode erforderlich ist.
In diesem Abschnitt