IShellView::UIActivate 方法 (shobjidl_core.h)

当视图窗口的激活状态由并非由 Shell 视图本身引起的事件更改时调用。 例如,如果在树具有焦点时按下 TAB 键,则应为视图提供焦点。

语法

HRESULT UIActivate(
  UINT uState
);

参数

uState

类型: UINT

指定窗口激活状态的标志。 此参数的取值可为下列值之一:

SVUIA_ACTIVATE_FOCUS

Windows 资源管理器刚刚创建了具有输入焦点的视图窗口。 这意味着 Shell 视图应该能够设置适合焦点状态的菜单项。

SVUIA_ACTIVATE_NOFOCUS

Shell 视图正在失去输入焦点,或者刚刚创建时没有输入焦点。 Shell 视图应能够设置适合非焦点状态的菜单项。 这意味着不应添加特定于选择的项。

SVUIA_DEACTIVATE

Windows 资源管理器即将销毁 Shell 视图窗口。 Shell 视图应删除所有扩展的用户界面。 这些通常是合并菜单和合并的无模式弹出窗口。

SVUIA_INPLACEACTIVATE

Shell 视图处于活动状态,没有焦点。 仅当通过 IShellView2 接口公开 UIActivate 时,才使用此标志。

返回值

类型: HRESULT

如果成功,则返回 S_OK ,否则返回 COM 定义的错误值。

注解

在重新合并菜单项之前,Shell 视图通常会挂钩 WM_SETFOCUS 消息并调用 OnViewWindowActive 方法。 Shell 视图不应将 NM_KILLFOCUS 消息挂钩以重新合并菜单项。

呼叫应用程序说明

调用此方法可通知视图激活状态更改。

实施者说明

使用此方法跟踪激活状态并根据需要更改任何行为。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)
DLL Shell32.dll (4.0 或更高版本)

另请参阅

IShellView