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
1 つ以上のパラメーターが無効です。

解説

このメソッドは、アプリケーション開発者の利便性として提供されます。 ウィンドウのフォーカスをドキュメント マネージャーに関連付けると、関連付けられたウィンドウがフォーカスを受け取ったときに、TSF マネージャーは関連付けられているドキュメント マネージャーと ITfThreadMgr::SetFocus を自動的に呼び出します。

このメソッドは、1 つのウィンドウを 1 つのドキュメント マネージャーにのみ関連付けることができます。 実装で複数のドキュメント マネージャーを 1 つのウィンドウに関連付ける場合、またはその逆の場合、実装は 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 Professional の TSF 1.0

関連項目

ITfDocumentMgr

ITfThreadMgr

ITfThreadMgr::SetFocus