Partager via


Meilleures pratiques (Tablet PC)

Il existe quelques instructions à garder à l’esprit lors de l’utilisation de l’objet PenInputPanel .

Préférer le contrôle InkEdit

InkEdit est le contrôle préféré auquel attacher l’objet PenInputPanel . Le contrôle InkEdit prend en charge l’infrastructure TSF (Text Services Framework).

Désactiver le mode encre sur les contrôles InkEdit

Lorsqu’il est attaché à un contrôle InkEdit , définissez la propriété InkMode du contrôle InkEdit sur la valeur InkMode . Si la propriété InkMode n’est pas définie sur la valeur InkMode , le contrôle InkEdit interprète le premier appui comme un trait, le transmet au module de reconnaissance et insère le texte dans le contrôle InkEdit. Étant donné que vous avez déjà un objet PenInputPanel attaché pour accepter l’entrée manuscrite, il n’est pas nécessaire que le contrôle InkEdit soit également activé pour l’entrée manuscrite.

Utilisation de contrôles sans fenêtre

Lorsqu’un objet PenInputPanel est attaché à une fenêtre parente qui contient plusieurs contrôles sans fenêtre, l’objet PenInputPanel ne sait pas comment suivre le caret lorsque le focus se déplace parmi les enfants sans fenêtre. L’entrée d’écriture manuscrite peut être envoyée au mauvais enfant lorsque le focus passe d’un contrôle sans fenêtre à un autre alors que l’entrée est en attente.

Pour utiliser l’objet PenInputPanel dans un environnement sans fenêtre, vous pouvez utiliser la technique suivante :

  1. Instanciez un contrôle TextBox et positionnez-le sur le contrôle sans fenêtre.
  2. Attachez l’objet PenInputPanel au nouveau contrôle de zone de texte.
  3. Laissez le contrôle de zone de texte collecter le texte reconnu de l’objet PenInputPanel .
  4. Lorsque le focus change du contrôle de zone de texte, appelez la méthode CommitPendingInput de l’objet PenInputPanel .
  5. Copiez le texte reconnu du contrôle de zone de texte vers l’enfant sans fenêtre.
  6. Détachez l’objet PenInputPanel en définissant sa propriété AttachedEditControl (code managé uniquement) ou sa propriété AttachedEditWindow sur null.
  7. Détruire le contrôle de zone de texte.

Classe PenInputPanel

Microsoft.Ink.PenInputPanel

Text Services Framework