IShellView::UIActivate メソッド (shobjidl_core.h)

シェル ビュー自体によって発生しないイベントによってビュー ウィンドウのアクティブ化状態が変更されたときに呼び出されます。 たとえば、ツリーにフォーカスがあるときに TAB キーを押すと、ビューにフォーカスが与えられる必要があります。

構文

HRESULT UIActivate(
  UINT uState
);

パラメーター

uState

型: UINT

ウィンドウのアクティブ化状態を指定するフラグ。 このパラメーターには、次の値のいずれかを指定できます。

SVUIA_ACTIVATE_FOCUS

Windows エクスプローラーでは、入力フォーカスを持つビュー ウィンドウが作成されました。 つまり、シェル ビューは、フォーカスされた状態に適したメニュー項目を設定できる必要があります。

SVUIA_ACTIVATE_NOFOCUS

シェル ビューで入力フォーカスが失われているか、入力フォーカスなしで作成されたばかりです。 シェル ビューでは、フォーカスされていない状態に適したメニュー項目を設定できる必要があります。 つまり、選択固有の項目を追加する必要はありません。

SVUIA_DEACTIVATE

Windows エクスプローラーでは、シェル ビュー ウィンドウが破棄されようとしています。 シェル ビューでは、すべての拡張ユーザー インターフェイスを削除する必要があります。 これらは通常、マージされたメニューとマージされたモードレス ポップアップ ウィンドウです。

SVUIA_INPLACEACTIVATE

シェル ビューはフォーカスなしでアクティブです。 このフラグは、 UIActivateIShellView2 インターフェイスを介して公開されている場合にのみ使用されます。

戻り値

型: 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 以降)

関連項目

IShellView