ITfThreadMgr::AssociateFocus 方法 (msctf.h)
将窗口的焦点与文档管理器对象相关联。
语法
HRESULT AssociateFocus(
[in] HWND hwnd,
[in] ITfDocumentMgr *pdimNew,
[out] ITfDocumentMgr **ppdimPrev
);
parameters
[in] hwnd
要与焦点关联的窗口的句柄。
[in] pdimNew
指向要与之关联的文档管理器的指针。 TSF 管理器不会递增对象引用计数。 此值可以为 NULL。
[out] ppdimPrev
接收以前与窗口关联的文档管理器。 如果没有以前的关联,则接收 NULL 。 此参数不能为 NULL。
返回值
此方法可以返回其中一个值。
值 | 说明 |
---|---|
|
方法成功。 |
|
一个或多个参数无效。 |
注解
为方便应用程序开发人员提供此方法。 将窗口的焦点与文档管理器关联会导致 TSF 管理器在关联窗口收到焦点时自动调用 ITfThreadMgr::SetFocus 与关联的文档管理器。
此方法只能将单个窗口与单个文档管理器相关联。 如果实现将多个文档管理器与单个窗口相关联,或相反,则实现必须调用 ITfThreadMgr::SetFocus 以将焦点设置为适当的文档管理器。
若要还原以前的焦点关联,请使用相同的窗口句柄调用此方法,并在 pdimNew 的原始调用 ppdimPrev 中返回的值。 下面是一个示例。
//associate the focus for m_hwnd with m_pDocMgr
pThreadMgr->AssociateFocus(m_hwnd, m_pDocMgr, &m_pPrevDocMgr);
//Restore the original focus association.
ITfDocumentMgr *pTempDocMgr = NULL;
pThreadMgr->AssociateFocus(m_hwnd, m_pPrevDocMgr, &pTempDocMgr);
if(pTempDocMgr)
{
pTempDocMgr->Release();
}
if(m_pPrevDocMgr)
{
m_pPrevDocMgr->Release();
}
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | msctf.h |
DLL | Msctf.dll |
可再发行组件 | Windows 2000 专业版上的 TSF 1.0 |