Programmieren des Eingabebereichs mithilfe der PenInputPanel-Klasse

[PenInputPanel wurde durch Microsoft.Ink.TextInput ersetzt. Weitere Informationen finden Sie unter Programmieren des Texteingabebereichs.]

Beschreibung der Verwendung des PenInputPanel-Objekts zum Programmieren des Tablet PC-Eingabebereichs auf Systemebene.

Eingabebereich im Vergleich zum PenInputPanel-Objekt

In Microsoft Windows XP Tablet PC Edition Version 1.0 bietet der Tablet PC-Eingabebereich auf Systemebene einen universellen Mechanismus zum Ausführen von Texteingaben über die Windows-Plattform, bietet jedoch keinen programmgesteuerten Zugriff. In Windows XP Tablet PC Edition Software Development Kit (SDK) Version 1.5 und höher ermöglicht ihnen das PenInputPanel-Objekt , Texteingabetools direkt in Ihre Anwendungen zu integrieren und eine Steuerungsebene bereitzustellen, die bisher nicht verfügbar war. Ab Windows XP Tablet PC Edition 2005 wurde der Eingabebereich auf Systemebene aktualisiert, um die direkte Eingabefunktionalität des PenInputPanel-Objekts und mehr einzuschließen.

Die folgende Grafik zeigt den Eingabebereich, der über dem Beispielbeispiel für das Formular für automatische Ansprüche angezeigt wird.

Eingabebereich, der über einem Formular angezeigt wird, das für Fahrzeugansprüche verwendet wird

Der Eingabebereich ersetzt das PenInputPanel , indem die gleiche direkte Eingabefunktionalität für jede Anwendung bereitgestellt wird, die unter Windows XP Tablet PC Edition 2005 oder höher ausgeführt wird, ohne dass zusätzlicher Code erforderlich ist. Dieser Artikel zur Verwendung des PenInputPanel-Objekts wird aus Gründen der Abwärtskompatibilität bereitgestellt. Anwendungen, die bereits das PenInputPanel-Objekt verwenden, funktionieren genauso, mit der Ausnahme, dass der Eingabebereich anstelle des PenInputPanel angezeigt wird, wenn die Anwendung unter Windows XP Tablet PC Edition 2005 oder höher ausgeführt wird.

Wenn Sie eine neue Anwendung für den Tablet-PC entwickeln und über eine direkte Benutzereingabelösung verfügen möchten, stellt der Eingabebereich diese automatisch auf Windows XP Tablet PC Edition 2005 oder höher bereit. Es ist nicht erforderlich, das PenInputPanel-Objekt zu instanziieren.

Deaktivieren des Eingabebereichs

Möglicherweise möchten Sie den Eingabebereich deaktivieren. Es gibt zwei Möglichkeiten, dies zu erreichen. Sie können dies programmgesteuert erreichen oder indem Sie einen Registrierungseintrag festlegen, der den Eingabebereich für Ihre gesamte Anwendung deaktiviert.

Programmgesteuertes Deaktivieren des Eingabebereichs

Um den Eingabebereich programmgesteuert zu deaktivieren, instanziieren Sie penInputPanel , und legen Sie die AutoShow-Eigenschaft auf False fest.

using Microsoft.Ink;

// ...

private PenInputPanel theInputPanel;

// ...

private void Form1_Load(object sender, System.EventArgs e)
{
// Attach the Input Panel to a specific TextBox control.
theInputPanel = new PenInputPanel(textBox1);

// Disable the Input Panel for the TextBox.
theInputPanel.AutoShow = false;
}

Um den Eingabebereich für mehrere Steuerelemente in einer einzelnen Anwendung zu deaktivieren, instanziieren Sie entweder ein PenInputPanel-Objekt für jedes Steuerelement, und legen Sie die AutoShow-Eigenschaftfür jedes Steuerelement auf False fest, oder instanziieren Sie ein einzelnes PenInputPanel , und verschieben Sie es von Steuerelement zu Steuerelement, wenn sich der Eingabefokus ändert. Weitere Informationen zu diesen beiden Techniken finden Sie im Thema PenInputPanel-Beispiel .

Deaktivieren des Eingabebereichs über die Registrierung

Sie können einen Registrierungseintrag festlegen, um den Eingabebereich für Ihre gesamte Anwendung zu deaktivieren. Dadurch wird sie jedoch auch für gängige Dialogfelder wie das Dialogfeld Datei öffnen , das Dialogfeld Drucken und das Dialogfeld Datei speichern deaktiviert. Dies kann dazu führen, dass die Benutzererfahrung in Ihrer Anwendung mit anderen Tablet-PC-Anwendungen inkonsistent ist.

Wenn Sie den DisableInPlace Registrierungsschlüssel auf 0 festlegen, wird verhindert, dass die Benutzeroberfläche des Eingabebereichs (Ui) in einer Anwendung angezeigt wird. Sie müssen den DisableInPlace Registrierungsschlüssel unter HKEY_LOCAL_MACHINE\Software\Microsoft\TabletTip\platzieren. Fügen Sie dann einen neuen Registrierungswert hinzu, indem Sie den vollständigen Pfad der Anwendung verwenden, in der Sie den Eingabebereich deaktivieren möchten. Der folgende Beispielregistrierungseintrag deaktiviert den Eingabebereich in einer Anwendung mit dem Namen MyApp:

[HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\WindowsNT\TabletTIP\DisableInPlace]``"C:\Program Files\My App\MyApp.exe"=dword:00000000

Wenn nach dem Deaktivieren der Eingabebereich-Benutzeroberfläche weiterhin ein Problem in Ihrer Anwendung auftritt, ist es möglicherweise erforderlich, das zugrunde liegende Framework zu deaktivieren, das ihre Anwendung nach dem Caretspeicherort abfragt. Beispielsweise kann der Eingabebereich einen Fehler im Caret-Tracking-Code Ihrer Anwendung verfügbar machen. Wenn Sie die Caretverfolgungsabfrage deaktivieren, wird auch verhindert, dass die Eingabebereich-Benutzeroberfläche angezeigt wird. Um das Framework zu deaktivieren, legen Sie den EnableCaretTracking Registrierungsschlüssel auf 0 (null) fest. Suchen Sie diesen Schlüssel unter HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AppCompatFlags\CaretTracking\.

Hinweis

Barrierefreiheitstools und Sprachtechnologie in Windows XP verwenden ebenfalls dieses Framework, sodass durch das Deaktivieren der Abfrage auch diese Features in Ihrer Anwendung deaktiviert werden.

 

Eingabebereich und Webseiten

Um eine API auf einer Webseite verwenden zu können, muss sie in einer teilweise vertrauenswürdigen Umgebung funktionieren. Alle PenInputPanel-Klassenmember erfordern voll vertrauenswürdig, mit Ausnahme der folgenden:

Diese APIs funktionieren in einer teilweise vertrauenswürdigen Umgebung, z. B. einer Webseite, sodass Sie ein PenInputPanel-Objekt instanziieren, es an ein Steuerelement anfügen und den Eingabebereich für dieses Steuerelement deaktivieren können. Weitere Informationen finden Sie unter Programmieren des Eingabebereichs mithilfe der PenInputPanel-Klasse und der Freihandeingabe im Web.

Das PenInputPanel-Objekt

Im weiteren Verlauf dieses Themas wird beschrieben, wie Sie das PenInputPanel-Objekt in Ihren Tablet-PC-fähigen Anwendungen verwenden. Genauer gesagt bezieht sich dieses Thema auf das PenInputPanel-Objekt , wenn es um das Programmierobjekt, den Stifteingabebereich beim Verweisen auf das UI-Element und den PC-Eingabebereich (oder Eingabebereich) geht, wenn auf den globalen Eingabebereich verwiesen wird, der normalerweise auf der Seite des Tablet-PC-Bildschirms zu finden ist.

In den folgenden Abschnitten werden das PenInputPanel-Objekt und die Benutzeroberfläche beschrieben.