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
将文本插入文档前的起始应用程序字符位置。
acpOldEnd
文本插入文档前的结束位置。 此值与插入点的 acpStart 相同。 如果此值与 acpStart 不同,则在文本插入之前选择了文本。
acpNewEnd
文本插入发生后的结束位置。

返回值

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

说明
S_OK
方法成功。
TS_E_INVALIDPOS
acpStartacpEnd 参数位于文档文本外部。
TS_E_NOLOCK
调用方没有读/写锁。
TS_E_READONLY
文档是只读的。 无法修改内容。
TS_E_REGION
尝试跨区域边界修改文本。

注解

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

acpStartacpEnd 字符位置不能超出文档范围。

应用程序不应调用 OnTextChange 方法以响应此方法。

此方法应调用 SetSelection 方法以选择要更改的文本。 成功执行 SetSelection 方法后,此方法随后调用 InsertTextAtSelection 方法以执行实际文本更改。

要求

要求
最低受支持的客户端 Windows 8 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 [桌面应用 |UWP 应用]
目标平台 Windows
标头 textstor.h
DLL Msctf.dll

另请参阅

成分

ITextStoreACP2

杂项文本存储常量

OnTextChange

TS_TEXTCHANGE