iTfDocumentMgr::P ush 方法 (msctf.h)

将上下文添加到上下文堆栈的顶部。

语法

HRESULT Push(
  [in] ITfContext *pic
);

参数

[in] pic

指向要添加到堆栈的 ITfContext 对象的指针。 此对象是从之前对 ITfDocumentMgr::CreateContext 的调用中获取的。

返回值

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

说明
S_OK
方法成功。
E_INVALIDARG
pic 无效。
TF_E_STACKFULL
堆栈上不存在上下文空间。 上下文堆栈限制为两个上下文。
E_UNEXPECTED
此方法是在 ITfDocumentMgr::P op 调用期间调用的。

注解

添加到堆栈中的第一个上下文将成为main文档上下文。

TSF 管理器和文本服务仅与堆栈顶部的上下文交互。 通常,只有main文档上下文位于堆栈上。 有时,需要向堆栈添加第二个上下文。 例如,当文本服务必须显示模式 UI(如候选列表)时。 在此期间,文本服务会将其上下文添加到堆栈。 当不再需要文本服务 UI 时,文本服务将从堆栈中删除上下文。 然后,main上下文返回到堆栈的顶部。 为了简化此过程并防止显示多个模式 UI,堆栈上最多允许两个上下文。

此方法会导致调用所有已安装线程管理器事件接收器的 ITfThreadMgrEventSink::OnPushContext 方法。 如果这是要添加到堆栈的第一个上下文,则此方法将导致调用所有已安装线程管理器事件接收器的 ITfThreadMgrEventSink::OnInitDocumentMgr 方法。

必须调用 ITfDocumentMgr::P op 才能从上下文堆栈中删除此上下文。

要求

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

另请参阅

ITfContext

ITfDocumentMgr

ITfDocumentMgr::CreateContext

ITfDocumentMgr::P op

ITfThreadMgrEventSink::OnInitDocumentMgr

ITfThreadMgrEventSink::OnPushContext