IShellView::UIActivate メソッド (shobjidl_core.h)
シェル ビュー自体によって発生しないイベントによってビュー ウィンドウのアクティブ化状態が変更されたときに呼び出されます。 たとえば、ツリーにフォーカスがあるときに TAB キーを押すと、ビューにフォーカスが与えられる必要があります。
構文
HRESULT UIActivate(
UINT uState
);
パラメーター
uState
型: UINT
ウィンドウのアクティブ化状態を指定するフラグ。 このパラメーターには、次の値のいずれかを指定できます。
SVUIA_ACTIVATE_FOCUS
Windows エクスプローラーでは、入力フォーカスを持つビュー ウィンドウが作成されました。 つまり、シェル ビューは、フォーカスされた状態に適したメニュー項目を設定できる必要があります。
SVUIA_ACTIVATE_NOFOCUS
シェル ビューで入力フォーカスが失われているか、入力フォーカスなしで作成されたばかりです。 シェル ビューでは、フォーカスされていない状態に適したメニュー項目を設定できる必要があります。 つまり、選択固有の項目を追加する必要はありません。
SVUIA_DEACTIVATE
Windows エクスプローラーでは、シェル ビュー ウィンドウが破棄されようとしています。 シェル ビューでは、すべての拡張ユーザー インターフェイスを削除する必要があります。 これらは通常、マージされたメニューとマージされたモードレス ポップアップ ウィンドウです。
SVUIA_INPLACEACTIVATE
シェル ビューはフォーカスなしでアクティブです。 このフラグは、 UIActivate が IShellView2 インターフェイスを介して公開されている場合にのみ使用されます。
戻り値
型: HRESULT
成功 した場合はS_OK を返し、それ以外の場合は COM 定義のエラー値を返します。
注釈
メニュー項目を再調整する前に、シェル ビューは通常 、WM_SETFOCUS メッセージをフックし、 OnViewWindowActive メソッドを呼び出します。 シェル ビューは、メニュー項目を再結合するために NM_KILLFOCUS メッセージをフックしないようにする必要があります。
呼び出し元アプリケーションに関する注意事項
アクティブ化状態の変更をビューに通知するには、このメソッドを呼び出します。実装者へのメモ
アクティブ化の状態を追跡し、必要に応じて動作を変更するには、このメソッドを使用します。要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shobjidl_core.h (Shobjidl.h を含む) |
[DLL] | Shell32.dll (バージョン 4.0 以降) |