ITextStoreAnchor::SetText 方法 (textstor.h)

ITextStoreAnchor::SetText 方法设置两个提供的定位点位置之间的文本选择。

语法

HRESULT SetText(
  [in] DWORD       dwFlags,
  [in] IAnchor     *paStart,
  [in] IAnchor     *paEnd,
  [in] const WCHAR *pchText,
  [in] ULONG       cch
);

参数

[in] dwFlags

如果设置为 TS_ST_CORRECTION 的值,则文本是现有内容的转换 (更正) ,并保留元数据) (任何特殊文本标记信息,例如.wav文件数据或语言标识符。 客户端定义要保留的标记信息的类型。

[in] paStart

指向要替换的文本范围开头的定位点的指针。

[in] paEnd

指向要替换的文本范围末尾的定位点的指针。 必须始终遵循或位于 与 paStart 相同的位置。

[in] pchText

指向替换文本的指针。 文本字符串不必以 NULL 结尾,因为文本字符计数是在 cch 参数中指定的。

[in] cch

指定替换文本中的字符数。

返回值

此方法可以返回其中一个值。

说明
S_OK
方法成功。
E_FAIL
方法无法实例化其中一个定位点 paStartpaEnd
TS_E_INVALIDPOS
paStartpaEnd 的位置位于文档文本之外。
TS_E_NOLOCK
调用方没有读/写锁。
TS_E_READONLY
文档是只读的。 无法修改内容。
TS_E_REGION
尝试跨区域边界修改文本。

注解

应用程序应首先使用 ITextStoreAnchor::InsertTextAtSelection 启动组合。 ITextStoreAnchor::SetText 应仅在现有合成中使用。 如果在调用 SetText 时没有活动组合,则 TSF 管理器将创建一个组合,该组合持续时间刚好足以包装对 SetText 的调用。

调用方必须持有通过 ITextStoreAnchor::RequestLock 获取的写入锁。 否则, ITextStoreAnchor::SetText 将失败并TS_E_NOLOCK。

如果 paStartpaEnd 位于同一位置,则操作是插入操作,并且不会删除现有文本。

TS_CHAR_EMBEDDED无法传递到此方法中。 对于 嵌入对象,请改用 ITextStoreAnchor::InsertEmbedded

如果替换的文本范围涵盖任何区域边界,此方法将失败。 相反,调用方应对 方法进行多次调用,每个区域一次。

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 textstor.h
DLL Msctf.dll
可再发行组件 Windows 2000 专业版上的 TSF 1.0

另请参阅

成分

嵌入对象

ITextStoreAnchor

ITextStoreAnchor::InsertEmbedded

ITextStoreAnchor::RequestLock

ITextStoreAnchorSink::OnTextChange

其他文本存储常量