iTfDocumentMgr::P ush 方法 (msctf.h)
将上下文添加到上下文堆栈的顶部。
语法
HRESULT Push(
[in] ITfContext *pic
);
参数
[in] pic
指向要添加到堆栈的 ITfContext 对象的指针。 此对象是从之前对 ITfDocumentMgr::CreateContext 的调用中获取的。
返回值
此方法可以返回其中一个值。
值 | 说明 |
---|---|
|
方法成功。 |
|
pic 无效。 |
|
堆栈上不存在上下文空间。 上下文堆栈限制为两个上下文。 |
|
此方法是在 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 |