Meilleures pratiques (Tablet PC)

Voici quelques recommandations à prendre en compte lors de l’utilisation de l’objet PenInputPanel .

Préférer le contrôle InkEdit

InkEdit est le contrôle par défaut auquel attacher l’objet PenInputPanel . Le contrôle InkEdit fournit la prise en charge de Text Services Framework (TSF).

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

Lorsqu’il est attaché à un contrôle InkEdit , affectez à la propriété InkMode du contrôle InkEdit 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 TAP 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 joint 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 des contrôles sans fenêtre

Lorsqu’un objet PenInputPanel est attaché à une fenêtre parente qui contient plus d’un contrôle sans fenêtre, l’objet PenInputPanel ne sait pas comment suivre le signe insertion lorsque le focus se déplace entre des enfants sans fenêtre. Une entrée d’écriture manuscrite peut être envoyée à un enfant incorrect 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 zone de texte.
  3. Laissez le contrôle de zone de texte collecter le texte reconnu à partir de l’objet PenInputPanel .
  4. Lorsque le focus est modifié en dehors du contrôle Text Box, appelez la méthode CommitPendingInput de l’objet PenInputPanel .
  5. Copiez le texte reconnu à partir du contrôle zone de texte dans l’enfant sans fenêtre.
  6. Détachez l’objet PenInputPanel en affectant à sa propriété AttachedEditControl (code managé uniquement) ou à la propriété AttachedEditWindow la valeur null.
  7. Détruisez le contrôle Text Box.

PenInputPanel, classe

Microsoft. Ink. PenInputPanel

Text Services Framework