IOleInPlaceSiteWindowless::SetFocus メソッド (ocidl.h)
UI アクティブなウィンドウレス オブジェクトのキーボード フォーカスを設定します。
構文
HRESULT SetFocus(
[in] BOOL fFocus
);
パラメーター
[in] fFocus
TRUE の場合、キーボード フォーカスを呼び出し元のオブジェクトに設定します。 FALSE の場合、オブジェクトにフォーカスがある場合、呼び出し元のオブジェクトからキーボード フォーカスが削除されます。
戻り値
このメソッドは、キーボード フォーカスがオブジェクトに正常に指定された場合にS_OKを返します。 フォーカスを解放するためにこのメソッドが呼び出された場合、失敗することはありません。 その他の可能な戻り値は次のとおりです。
リターン コード | 説明 |
---|---|
|
オブジェクトに対してキーボード フォーカスが拒否されました。 |
解説
ウィンドウなしのオブジェクトは、ウィンドウオブジェクトが SetFocus 関数を呼び出すたびに、このメソッドを呼び出します。 この呼び出しを通じて、ウィンドウレス オブジェクトはキーボード フォーカスを取得し、ウィンドウ メッセージに応答できます。 通常、この呼び出しは UI のアクティブ化プロセス中に行われ、通知メソッド IOleInPlaceActiveObject::OnDocWindowActivate で TRUE 、 IOleInPlaceActiveObject::OnFrameWindowActivate が TRUE の場合に行われます。
この呼び出しに応じて、コンテナーは Windows フォーカスをキーボード メッセージ (通常はコンテナー ウィンドウ) を取得するために使用されるウィンドウに設定し、後続のキーボード メッセージをフォーカスを要求したウィンドウレス オブジェクトにリダイレクトします。
また、ウィンドウレス オブジェクトは、fFocus パラメーターを FALSE に設定して IOleInPlaceSiteWindowless::SetFocus メソッドを呼び出して、キーボード フォーカスを他のオブジェクトに割り当てずに解放します。 この場合、ウィンドウにフォーカスが設定されていないように、コンテナーは NULL パラメーターを使用して SetFocus 関数を呼び出す必要があります。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ocidl.h |