iTfRange::AdjustForInsert 方法 (msctf.h)

ITfRange::AdjustForInsert 方法扩展或收缩文本范围以调整文本插入。

语法

HRESULT AdjustForInsert(
  [in]  TfEditCookie ec,
  [in]  ULONG        cchInsert,
  [out] BOOL         *pfInsertOk
);

参数

[in] ec

编辑从 ITfDocumentMgr::CreateContextITfEditSession::D oEditSession 获取的 Cookie。

[in] cchInsert

插入文本的字符计数。 此计数用于 ITfRange::SetText 的未来计数。 如果字符计数未知,则可以使用 0。

[out] pfInsertOk

指向一个标志的指针,该标志指示上下文所有者在插入) 接受 (TRUE) 还是拒绝 (FALSE

返回值

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

说明
S_OK
方法成功。
E_FAIL
方法失败。
E_INVALIDARG
一个或多个参数无效。
E_NOTIMPL
应用程序无法替换所选内容。
TF_E_NOLOCK
ec 参数中的值是无效的 Cookie,或者调用方没有只读锁。

注解

在开始编辑之前,应使用此方法准备一个范围以启动新的合成。 仅当文本未插入到当前所选内容时,才应使用它。 ITFInsertAtSelection:InsertTextAtSelectionITfInsertAtSelection::InsertEmbeddedAtSelection 是在当前选定内容处插入文本时使用的正确方法。

上下文所有者可以使用此方法来保留行为并帮助保持一致的用户体验。 例如,上下文中的某些字符或对象可以在修改时保留,或者支持贫困。

修改现有组合时,此方法不是必需的。 可以直接调用 ITfRange::SetText 来修改调用方之前输入的文本。

退出时,如果 *pfInsertOk 设置为 FALSE,则以后使用此范围调用 ITfRange::SetTextITfRange::InsertEmbedded 可能会失败。 否则, *pfInsertOk 将设置为 TRUE,并且范围起始定位点或结束定位点可以由上下文所有者决定。

要求

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

另请参阅

ITFInsertAtSelection:InsertTextAtSelection

ITfDocumentMgr::CreateContext

ITfEditSession::D oEditSession

ITfInsertAtSelection::InsertEmbeddedAtSelection

ITfRange

ITfRange::InsertEmbedded

ITfRange::SetText

文本存储