Freigeben über


ITextStoreACP::SetText-Methode (textstor.h)

Die ITextStoreACP::SetText-Methode legt die Textauswahl auf die angegebenen Zeichenpositionen fest.

Syntax

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

Parameter

[in] dwFlags

Bei Festlegung auf den Wert von TS_ST_CORRECTION ist der Text eine Transformation (Korrektur) vorhandener Inhalte, und alle speziellen Textmarkupinformationen (Metadaten) werden beibehalten, z. B. .wav Dateidaten oder ein Sprachbezeichner. Der Client definiert den Typ der Markupinformationen, die aufbewahrt werden sollen.

[in] acpStart

Gibt die Anfangszeichenposition des zu ersetzenden Texts an.

[in] acpEnd

Gibt die Endzeichenposition des zu ersetzenden Texts an. Dieser Parameter wird ignoriert, wenn der Wert 1 ist.

[in] pchText

Gibt den Zeiger auf den Ersetzungstext an. Die Textzeichenfolge muss nicht null beendet sein, da die Anzahl der Textzeichen im cch-Parameter angegeben ist.

[in] cch

Gibt die Anzahl der Zeichen im Ersetzungstext an.

[out] pChange

Zeiger auf eine TS_TEXTCHANGE-Struktur mit den folgenden Daten.

Wert Bedeutung
acpStart
Die Anfangsposition der Anwendung, bevor der Text in das Dokument eingefügt wird.
acpOldEnd
Die Endposition, bevor der Text in das Dokument eingefügt wird. Dieser Wert ist identisch mit acpStart für eine Einfügemarke. Wenn sich dieser Wert von acpStart unterscheidet, wurde text vor der Texteinfügung ausgewählt.
acpNewEnd
Die Endposition nach dem Einfügen von Text.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Wert BESCHREIBUNG
S_OK
Die Methode war erfolgreich.
TS_E_INVALIDPOS
Der acpStart- oder acpEnd-Parameter befindet sich außerhalb des Dokumenttexts.
TS_E_NOLOCK
Der Aufrufer verfügt nicht über eine Lese-/Schreibsperre.
TS_E_READONLY
Das Dokument ist schreibgeschützt. Der Inhalt kann nicht geändert werden.
TS_E_REGION
Es wurde versucht, Text über eine Bereichsgrenze hinweg zu ändern.

Hinweise

Anwendungen sollten eine Komposition starten, indem sie zuerst ITextStoreACP::InsertTextAtSelection verwenden. ITextStoreACP::SetText sollte nur innerhalb einer vorhandenen Komposition verwendet werden. Wenn zum Zeitpunkt des Aufrufs von SetText keine aktive Komposition vorhanden ist, erstellt der TSF-Manager eine Komposition, die gerade so lange dauert, dass der Aufruf von SetText umschließt.

Die Zeichenpositionen acpStart und acpEnd dürfen nicht außerhalb des Dokumentbereichs liegen.

Anwendungen sollten die ITextStoreACPSink::OnTextChange-Methode als Reaktion auf diese Methode nicht aufrufen.

Diese Methode sollte die ITextStoreACP::SetSelection-Methode aufrufen, um den zu ändernden Text auszuwählen. Nach der erfolgreichen Ausführung der ITextStoreACP::SetSelection-Methode ruft diese Methode dann die ITextStoreACP::InsertTextAtSelection-Methode auf, um die eigentliche Textänderung durchzuführen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile textstor.h
DLL Msctf.dll
Verteilbare Komponente TSF 1.0 unter Windows 2000 Professional

Weitere Informationen

Kompositionen

Itextstoreacp

ITextStoreACPSink::OnTextChange

Verschiedene Textspeicherkonstanten

TS_TEXTCHANGE