Objets incorporés (Text Services Framework)

Text Services Framework permet à un service de texte d’incorporer des objets dans un flux de texte d’application. Les objets incorporés sont insérés dans le flux de texte à l’aide de la valeur TS _ char _ Embedded. Cette valeur correspond au caractère de remplacement d’objet Unicode U + FFFC, à l’aide de la notation hexadécimale. Par exemple, l’illustration suivante montre le rendu d’un objet incorporé qui représente le IDÉOGRAMME Hi japonais, en association avec la séquence de caractères Unicode qui représente la traduction en anglais de « Sun ».

encodage de caractères d’un objet incorporé

La ligne supérieure de la figure contient le texte traduit, composé du mot « Sun » suivi du caractère japonais pour Sun, Hi. La ligne centrale de l’illustration montre le caractère Unicode. Dans le cas de U + FFFC, il s’agit du caractère de remplacement de l’objet. La ligne inférieure de la figure montre la valeur hexadécimale de chaque caractère.

Prise en charge des objets incorporés dans une application

Le gestionnaire TSF insère un objet incorporé dans le flux de texte en appelant ITextStoreACP :: InsertEmbedded pour une application ACP, ou ITextStoreAnchor :: InsertEmbedded pour une application basée sur un point d’ancrage. Lorsqu’un objet incorporé est inséré, l’application doit placer la valeur du caractère _ _ incorporé TS au niveau de la position du caractère (ou de l’emplacement d’ancrage) où l’objet est incorporé et stocker l’IDataObject associé à l’objet incorporé. Quand ITextStoreACP :: gettext ou ITextStoreAnchor :: gettext est appelé et qu’un objet incorporé est contenu dans le texte obtenu, la valeur _ _ Embedded char TS indique la présence et l’emplacement de l’objet incorporé. Pour obtenir l’objet incorporé, appelez ITextStoreACP :: GetEmbedded avec la position de caractère de l’objet incorporé ou ITextStoreAnchor :: GetEmbedded avec l’emplacement d’ancrage de l’objet incorporé.

L’application ne reconnaît pas normalement le contenu de l’objet incorporé. L’application peut tenter d’obtenir des informations d’affichage à partir de l’objet lui-même. Si l’objet incorporé peut fournir des données dans un format reconnu par l’application, tel que CF _ UNICODETEXT ou CF _ bitmap, l’application peut afficher des informations graphiques fournies par l’objet.

Insertion d’objets incorporés

Un service de texte insère un objet incorporé dans un contexte en appelant ITfRange :: InsertEmbedded ou ITfInsertAtSelection :: InsertEmbeddedAtSelection. Le service de texte doit fournir l’IDataObject incorporé.