Freihandsteuerelemente

Die Tablet-PC-Plattform bietet zwei Steuerelemente, InkEdit und InkPicture, mit denen Sie auf einfache Weise Freihand- und Handschrifterkennung zu Tablet-PC-Anwendungen hinzufügen können. Das InkEdit-Steuerelement verfügt über verwaltete Versionen von ActiveX und Win32, während InkPicture nur über die verwalteten InkPicture - und ActiveX-Versionen verfügt.

Der Hauptunterschied zwischen den Steuerelementen liegt in der Art und Weise, wie Daten gespeichert werden. Das InkEdit-Steuerelement speichert freihand standardmäßig als Text, während InkPicture Freihand als Freihand speichert.

Das InkEdit-Steuerelement ist für die Texteingabe über die Handschrifterkennung vorgesehen. InkPicture dient zur Anmerkung (z. B. zum Markieren einer Präsentationsfolie oder eines anderen Bilds).

Erstellen Sie in verwaltetem Code Freihandsteuerelemente im selben Thread wie der Standard Thread für das Formular. Wenn ein InkEdit - oder InkPicture-Steuerelement in einem anderen Thread erstellt wird, reagiert Ihre Anwendung möglicherweise nicht ordnungsgemäß.

Sie sollten das Threadingmodell explizit in Einthread-Apartment (STA) ändern, bevor Sie ein Freihandsteuerelement erstellen. Dies bewirkt, dass das Steuerelement im Standard Thread erstellt wird. Sie können den folgenden verwalteten C++-Code verwenden, um das Threadingmodell explizit festzulegen.

Thread::get_CurrentThread()->set_ApartmentState(ApartmentState::STA);

Sie können den folgenden Code verwenden, um dasselbe in C# zu tun.

System.Threading.Thread.CurrentThread.ApartmentState = System.Threading.ApartmentState.STA;

Um einen Speicherverlust zu vermeiden, müssen Sie in verwaltetem Code explizit die Dispose-Methode auf jedem Tablet-PC-Steuerelement aufrufen, an das ein Ereignishandler angefügt wurde, bevor das Steuerelement den Gültigkeitsbereich überschreitet.

In den folgenden Abschnitten werden Freihandsteuerelemente und die Verwendung von Freihandsteuerelementen in Anwendungen beschrieben: