Partager via


Méthode ITextStoreACP ::SetText (textstor.h)

La méthode ITextStoreACP ::SetText définit la sélection de texte sur les positions de caractères fournies.

Syntaxe

HRESULT SetText(
  [in]  DWORD         dwFlags,
  [in]  LONG          acpStart,
  [in]  LONG          acpEnd,
  [in]  const WCHAR   *pchText,
  [in]  ULONG         cch,
  [out] TS_TEXTCHANGE *pChange
);

Paramètres

[in] dwFlags

S’il est défini sur la valeur de 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 .wav données de fichier ou un identificateur de langue. Le client définit le type d’informations de balisage à conserver.

[in] acpStart

Spécifie la position du caractère de départ du texte à remplacer.

[in] acpEnd

Spécifie la position du caractère de fin du texte à remplacer. Ce paramètre est ignoré si la valeur est 1.

[in] pchText

Spécifie le pointeur vers le texte de remplacement. La chaîne de texte n’a pas besoin d’ê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.

[out] pChange

Pointeur vers une structure de TS_TEXTCHANGE avec les données suivantes.

Valeur Signification
acpStart
Position du caractère de début de l’application avant l’insertion du texte dans le document.
acpOldEnd
Position de fin avant l’insertion du texte dans le document. Cette valeur est identique à acpStart pour un point d’insertion. Si cette valeur est différente de acpStart, le texte a été sélectionné avant l’insertion de texte.
acpNewEnd
Position de fin après l’insertion du texte.

Valeur retournée

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

Valeur Description
S_OK
La méthode a réussi.
TS_E_INVALIDPOS
Le paramètre acpStart ou acpEnd se trouve 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 a été effectuée au-delà d’une limite de région.

Remarques

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

Les positions de caractères acpStart et acpEnd ne peuvent pas se trouver en dehors de la plage de documents.

Les applications ne doivent pas appeler la méthode ITextStoreACPSink ::OnTextChange en réponse à cette méthode.

Cette méthode doit appeler la méthode ITextStoreACP ::SetSelection pour sélectionner le texte à modifier. Après avoir correctement exécuté la méthode ITextStoreACP ::SetSelection , cette méthode appelle la méthode ITextStoreACP ::InsertTextAtSelection pour effectuer la modification de texte réelle.

Configuration requise

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

Voir aussi

Compositions

ITextStoreACP

ITextStoreACPSink ::OnTextChange

Constantes de magasin de texte diverses

TS_TEXTCHANGE