Partager via


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

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

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] 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 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.

[out] pChange

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

Valeur Signification
acpStart
Position du caractère d’application de départ 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 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 InsertTextAtSelection. 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 positions des caractères acpStart et acpEnd ne peuvent pas être en dehors de la plage de documents.

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

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête textstor.h
DLL Msctf.dll

Voir aussi

Compositions

ITextStoreACP2

Constantes de magasin de texte diverses

OnTextChange

TS_TEXTCHANGE