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 にすることはできません。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
値 | 説明 |
---|---|
|
メソッドは正常に実行されました。 |
|
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 |