Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The ITextStoreAnchor::SetText method sets the text selection between two supplied anchor locations.
Syntax
HRESULT SetText(
[in] DWORD dwFlags,
[in] IAnchor *paStart,
[in] IAnchor *paEnd,
[in] const WCHAR *pchText,
[in] ULONG cch
);
Parameters
[in] dwFlags
If set to the value of TS_ST_CORRECTION, the text is a transform (correction) of existing content, and any special text markup information (metadata) is retained, such as .wav file data or a language identifier. The client defines the type of markup information to be retained.
[in] paStart
Pointer to the anchor at the start of the range of text to replace.
[in] paEnd
Pointer to the anchor at the end of the range of text to replace. Must always follow or be at the same position as paStart.
[in] pchText
Pointer to the replacement text. The text string does not have to be NULL terminated, because the text character count is specified in the cch parameter.
[in] cch
Specifies the number of characters in the replacement text.
Return value
This method can return one of these values.
| Value | Description |
|---|---|
|
The method was successful. |
|
The method could not instantiate one of the anchors paStart or paEnd. |
|
The location of paStart or paEnd is outside of the document text. |
|
The caller does not have a read/write lock. |
|
The document is read-only. Content cannot be modified. |
|
An attempt was made to modify text across a region boundary. |
Remarks
Applications should start a composition by first using ITextStoreAnchor::InsertTextAtSelection. ITextStoreAnchor::SetText should be used only within an existing composition. If there is no active composition at the time SetText is called, the TSF manager creates a composition that lasts just long enough to wrap the call to SetText.
Callers must hold a write lock obtained through ITextStoreAnchor::RequestLock. Otherwise, ITextStoreAnchor::SetText will fail with TS_E_NOLOCK.
If paStart is at the same location as paEnd, then the operation is an insertion, and no existing text will be removed.
TS_CHAR_EMBEDDED cannot be passed into this method. For embedded objects, use ITextStoreAnchor::InsertEmbedded instead.
This method will fail if the range of text replaced covers any region boundary. Instead, callers should make multiple calls to the method, one for each region.
Requirements
| Requirement | Value |
|---|---|
| Minimum supported client | Windows 2000 Professional [desktop apps | UWP apps] |
| Minimum supported server | Windows 2000 Server [desktop apps | UWP apps] |
| Target Platform | Windows |
| Header | textstor.h |
| DLL | Msctf.dll |
| Redistributable | TSF 1.0 on Windows 2000 Professional |
See also
ITextStoreAnchor::InsertEmbedded