ITextStoreACP2::SetText 方法 (textstor.h)
将文本选择设置为提供的字符位置。
语法
HRESULT SetText(
[in] DWORD dwFlags,
[in] LONG acpStart,
[in] LONG acpEnd,
[in] const WCHAR *pchText,
[in] ULONG cch,
[out] TS_TEXTCHANGE *pChange
);
参数
[in] dwFlags
如果设置为 TS_ST_CORRECTION 的值,则文本是现有内容的转换 (更正) ,并且会保留元数据) (任何特殊文本标记信息,例如.wav文件数据或语言标识符。 客户端定义要保留的标记信息的类型。
[in] acpStart
指定要替换的文本的起始字符位置。
[in] acpEnd
指定要替换的文本的结束字符位置。 如果值为 1,则忽略此参数。
[in] pchText
指定指向替换文本的指针。 文本字符串不必以 NULL 结尾,因为文本字符计数是在 cch 参数中指定的。
[in] cch
指定替换文本中的字符数。
[out] pChange
指向具有以下 数据的TS_TEXTCHANGE 结构的指针。
值 | 含义 |
---|---|
|
将文本插入文档前的起始应用程序字符位置。 |
|
文本插入文档前的结束位置。 此值与插入点的 acpStart 相同。 如果此值与 acpStart 不同,则在文本插入之前选择了文本。 |
|
文本插入发生后的结束位置。 |
返回值
此方法可以返回其中一个值。
值 | 说明 |
---|---|
|
方法成功。 |
|
acpStart 或 acpEnd 参数位于文档文本外部。 |
|
调用方没有读/写锁。 |
|
文档是只读的。 无法修改内容。 |
|
尝试跨区域边界修改文本。 |
注解
应用程序应首先使用 InsertTextAtSelection 启动组合。 只能在现有组合中使用 SetText。 如果在调用 SetText 时没有活动组合,则 TSF 管理器将创建一个持续的时间足以包装 对 SetText 的调用的合成。
acpStart 和 acpEnd 字符位置不能超出文档范围。
应用程序不应调用 OnTextChange 方法以响应此方法。
此方法应调用 SetSelection 方法以选择要更改的文本。 成功执行 SetSelection 方法后,此方法随后调用 InsertTextAtSelection 方法以执行实际文本更改。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2012 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | textstor.h |
DLL | Msctf.dll |