共用方式為


ITfThreadMgr::AssociateFocus 方法 (msctf.h)

將視窗的焦點與檔管理員物件產生關聯。

語法

HRESULT AssociateFocus(
  [in]  HWND           hwnd,
  [in]  ITfDocumentMgr *pdimNew,
  [out] ITfDocumentMgr **ppdimPrev
);

參數

[in] hwnd

視窗的控制碼,以將焦點與 產生關聯。

[in] pdimNew

要與焦點建立關聯的檔管理員指標。 TSF 管理員不會遞增物件參考計數。 此值可以是 Null

[out] ppdimPrev

接收先前與視窗相關聯的檔管理員。 如果沒有先前的關聯,則會收到 Null 。 此參數不可為 Null

傳回值

這個方法可以傳回其中一個值。

描述
S_OK
此方法成功。
E_INVALIDARG
一或多個參數無效。

備註

這個方法可方便應用程式開發人員使用。 將視窗的焦點與檔管理員產生關聯,會導致 TSF 管理員在相關聯的視窗收到焦點時,自動呼叫 ITfThreadMgr::SetFocus 與相關聯的檔管理員。

這個方法只能將單一視窗與單一檔管理員產生關聯。 如果實作將多個檔管理員與單一視窗產生關聯,則實作必須呼叫 ITfThreadMgr::SetFocus ,將焦點設定為適當的檔管理員。

若要還原先前的焦點關聯,請使用相同的視窗控制碼和原始呼叫 ppdimPrev 中針對 pdimNew傳回的值呼叫這個方法。 以下是一個範例。


//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 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 msctf.h
Dll Msctf.dll
可轉散發套件 Windows 2000 專業版上的 TSF 1.0

另請參閱

ITfDocumentMgr

ITfThreadMgr

ITfThreadMgr::SetFocus