Partager via


ITextStoreAnchor ::SetText, méthode (textstor.h)

La méthode ITextStoreAnchor ::SetText définit la sélection de texte entre deux emplacements d’ancrage fournis.

Syntaxe

HRESULT SetText(
  [in] DWORD       dwFlags,
  [in] IAnchor     *paStart,
  [in] IAnchor     *paEnd,
  [in] const WCHAR *pchText,
  [in] ULONG       cch
);

Paramètres

[in] dwFlags

Si la valeur est TS_ST_CORRECTION, le texte est une transformation (correction) du contenu existant et toutes les informations de balisage de texte spéciales (métadonnées) sont conservées, telles que les données de fichier .wav ou un identificateur de langue. Le client définit le type d’informations de balisage à conserver.

[in] paStart

Pointeur vers l’ancre au début de la plage de texte à remplacer.

[in] paEnd

Pointeur vers l’ancre à la fin de la plage de texte à remplacer. Doit toujours suivre ou être à la même position que paStart.

[in] pchText

Pointeur vers le texte de remplacement. La chaîne de texte ne doit pas être terminée par NULL , car le nombre de caractères de texte est spécifié dans le paramètre cch .

[in] cch

Spécifie le nombre de caractères dans le texte de remplacement.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Valeur Description
S_OK
La méthode a réussi.
E_FAIL
La méthode n’a pas pu instancier l’une des ancres paStart ou paEnd.
TS_E_INVALIDPOS
L’emplacement de paStart ou paEnd est en dehors du texte du document.
TS_E_NOLOCK
L’appelant n’a pas de verrou en lecture/écriture.
TS_E_READONLY
Le document est en lecture seule. Le contenu ne peut pas être modifié.
TS_E_REGION
Une tentative de modification de texte au-delà d’une limite de région a été effectuée.

Remarques

Les applications doivent commencer une composition à l’aide de ITextStoreAnchor ::InsertTextAtSelection. ITextStoreAnchor ::SetText doit être utilisé uniquement dans une composition existante. S’il n’y a aucune composition active au moment où SetText est appelé, le gestionnaire TSF crée une composition qui dure juste assez longtemps pour encapsuler l’appel à SetText.

Les appelants doivent contenir un verrou d’écriture obtenu via ITextStoreAnchor ::RequestLock. Sinon, ITextStoreAnchor ::SetText échoue avec TS_E_NOLOCK.

Si paStart se trouve au même emplacement que paEnd, l’opération est une insertion et aucun texte existant n’est supprimé.

TS_CHAR_EMBEDDED ne peut pas être passée dans cette méthode. Pour les objets incorporés, utilisez plutôt ITextStoreAnchor ::InsertEmbedded .

Cette méthode échoue si la plage de texte remplacée couvre une limite de région. Au lieu de cela, les appelants doivent effectuer plusieurs appels à la méthode, un pour chaque région.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête textstor.h
DLL Msctf.dll
Composant redistribuable TSF 1.0 sur Windows 2000 Professionnel

Voir aussi

Compositions

Objets incorporés

ITextStoreAnchor

ITextStoreAnchor ::InsertEmbedded

ITextStoreAnchor ::RequestLock

ITextStoreAnchorsink ::OnTextChange

Constantes de magasin de texte diverses