Condividi tramite


Metodo ITextStoreACP::SetText (textstor.h)

Il metodo ITextStoreACP::SetText imposta la selezione del testo sulle posizioni dei caratteri specificate.

Sintassi

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

Parametri

[in] dwFlags

Se impostato sul valore di TS_ST_CORRECTION, il testo è una trasformazione (correzione) del contenuto esistente e vengono mantenute eventuali informazioni speciali di markup del testo (metadati), ad esempio .wav dati del file o un identificatore della lingua. Il client definisce il tipo di informazioni di markup da conservare.

[in] acpStart

Specifica la posizione iniziale del carattere del testo da sostituire.

[in] acpEnd

Specifica la posizione finale del carattere del testo da sostituire. Questo parametro viene ignorato se il valore è 1.

[in] pchText

Specifica il puntatore al testo sostitutivo. La stringa di testo non deve essere terminata da NULL , perché il conteggio dei caratteri di testo viene specificato nel parametro cch .

[in] cch

Specifica il numero di caratteri nel testo sostitutivo.

[out] pChange

Puntatore a una struttura TS_TEXTCHANGE con i dati seguenti.

Valore Significato
acpStart
Posizione del carattere dell'applicazione iniziale prima dell'inserimento del testo nel documento.
acpOldEnd
Posizione finale prima dell'inserimento del testo nel documento. Questo valore è uguale a acpStart per un punto di inserimento. Se questo valore è diverso da acpStart, il testo è stato selezionato prima dell'inserimento di testo.
acpNewEnd
Posizione finale dopo l'inserimento del testo.

Valore restituito

Questo metodo può restituire uno di questi valori.

Valore Descrizione
S_OK
Il metodo è stato eseguito correttamente.
TS_E_INVALIDPOS
Il parametro acpStart o acpEnd non rientra nel testo del documento.
TS_E_NOLOCK
Il chiamante non dispone di un blocco di lettura/scrittura.
TS_E_READONLY
Il documento è di sola lettura. Impossibile modificare il contenuto.
TS_E_REGION
È stato effettuato un tentativo di modifica del testo in un limite di area.

Commenti

Le applicazioni devono iniziare una composizione usando prima ITextStoreACP::InsertTextAtSelection. ITextStoreACP::SetText deve essere usato solo all'interno di una composizione esistente. Se non è presente alcuna composizione attiva al momento della chiamata a SetText , il gestore TSF crea una composizione che dura abbastanza a lungo per eseguire il wrapping della chiamata a SetText.

Le posizioni dei caratteri acpStart e acpEnd non possono essere esterne all'intervallo di documenti.

Le applicazioni non devono chiamare il metodo ITextStoreACPSink::OnTextChange in risposta a questo metodo.

Questo metodo deve chiamare il metodo ITextStoreACP::SetSelection per selezionare il testo da modificare. Dopo aver eseguito correttamente il metodo ITextStoreACP::SetSelection , questo metodo chiama quindi il metodo ITextStoreACP::InsertTextAtSelection per eseguire la modifica del testo effettiva.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione textstor.h
DLL Msctf.dll
Componente ridistribuibile TSF 1.0 in Windows 2000 Professional

Vedi anche

Composizioni

ITextStoreACP

ITextStoreACPSink::OnTextChange

Costanti dell'archivio testo varie

TS_TEXTCHANGE