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
指定替换文本中的字符数。
此方法可以返回其中一个值。
值 | 说明 |
---|---|
|
方法成功。 |
|
方法无法实例化其中一个定位点 paStart 或 paEnd。 |
|
paStart 或 paEnd 的位置位于文档文本之外。 |
|
调用方没有读/写锁。 |
|
文档是只读的。 无法修改内容。 |
|
尝试跨区域边界修改文本。 |
应用程序应首先使用 ITextStoreAnchor::InsertTextAtSelection 启动组合。 ITextStoreAnchor::SetText 应仅在现有合成中使用。 如果在调用 SetText 时没有活动组合,则 TSF 管理器将创建一个组合,该组合持续时间刚好足以包装对 SetText 的调用。
调用方必须持有通过 ITextStoreAnchor::RequestLock 获取的写入锁。 否则, ITextStoreAnchor::SetText 将失败并TS_E_NOLOCK。
如果 paStart 与 paEnd 位于同一位置,则操作是插入操作,并且不会删除现有文本。
TS_CHAR_EMBEDDED无法传递到此方法中。 对于 嵌入对象,请改用 ITextStoreAnchor::InsertEmbedded 。
如果替换的文本范围涵盖任何区域边界,此方法将失败。 相反,调用方应对 方法进行多次调用,每个区域一次。
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | textstor.h |
DLL | Msctf.dll |
可再发行组件 | Windows 2000 专业版上的 TSF 1.0 |
ITextStoreAnchor::InsertEmbedded