Partager via


Utilisation de l’objet Text Ink

Pour faciliter la prise en charge de l’entrée manuscrite dans les applications, il existe deux objets, qui peuvent tous deux être incorporés et sont pris en charge par n’importe quel conteneur OLE, l’objet d’encre de texte (tInk) et l’objet d’encre d’croquis (sInk).

L’objet d’entrée manuscrite de texte est un objet OLE qui représente l’entrée manuscrite qui est censée former des mots. Un objet d’entrée manuscrite permet de convertir l’encre manuscrite en texte en choisissant dans une liste de remplacements. La couleur et la taille de l’objet d’entrée manuscrite de texte peuvent être définies par programmation et peuvent être basées sur les attributs du texte autour de l’objet. L’objet d’entrée manuscrite de texte est destiné à contenir un seul mot.

L’objet d’entrée manuscrite de texte prend en charge l’ensemble standard d’interfaces OLE requis pour l’incorporation et la prise en charge du Presse-papiers. L’interface IPersistStream lit et écrit dans un flux au format ISF (Ink Serialized Format). L’objet d’entrée manuscrite de texte fournit l’interface IInkLineInfo pour accéder à ses propriétés d’affichage et à la liste des résultats de la reconnaissance.

L’objet d’entrée manuscrite de texte peut être utilisé pour l’interopérabilité entre les applications en le plaçant dans l’emplacement d’objet OLE dans le Presse-papiers, en l’incorporant dans RTF ou en le rendant persistant dans un flux ISF.

Un objet d’entrée manuscrite de texte peut être généré des manières suivantes.

  • Le contrôle InkEdit utilise l’objet d’entrée manuscrite de texte. La fonctionnalité du contrôle InkEdit est un sur-ensemble de la fonctionnalité de contrôle RichEdit standard. L’entrée manuscrite est insérée dans le flux RTF du contrôle InkEdit en tant qu’objet d’encre de texte.
  • Lorsqu’une application copie un objet InkStrokes ou InkEdit dans le Presse-papiers et que le format d’énumération InkClipboardFormats est défini, l’emplacement Presse-papiers de l’objet OLE contient un objet OLE d’entrée de texte.
  • Le panneau d’entrée tablet PC peut générer des objets d’encre de texte.

Par exemple, votre application peut reconnaître l’écriture manuscrite et ajouter le résultat de la reconnaissance aux traits. Ensuite, si vous copiez et collez les traits dans Microsoft Word en tant qu’objet d’encre de texte, des alternatives pour ce mot sont disponibles dans Word 2003 et versions ultérieures.

Pour contenir correctement des objets d’entrée manuscrite de texte, une application doit implémenter la prise en charge du conteneur OLE pour les objets incorporés. Ensuite, pour que le conteneur prend entièrement en charge l’entrée manuscrite de texte, vous devez mettre en place :

  • Modifications apportées à l’application pour Rechercher et remplacer. Au lieu d’ignorer les objets incorporés dans la recherche, ces objets doivent être interrogés pour le type. S’il s’agit d’un objet d’encre de texte, ils doivent être instanciés et interrogés pour leur texte correspondant.
  • Modifications du comportement de sélection. La sélection d’objets d’entrée manuscrite de texte ne doit jamais apparaître avec des poignées de dimensionnement. Ils doivent être sélectionnés de la même façon que le texte est sélectionné dans le document. Le code de sélection pour les objets doit détecter si le type est manuscrit et afficher la sélection de manière appropriée.
  • Utilisation des propriétés ambiantes. Les propriétés ambiantes telles que la taille de police, la couleur et la mise en forme en gras doivent être transmises à l’objet d’entrée manuscrite. L’application de ces propriétés modifie la largeur de l’encre manuscrite. Une mise à jour de la taille est donc requise en appelant la méthode IInkLineInfo::GetInkExtent ou IOleObject::GetExtent .

Dans cette section