[Now Supported on Windows NT]
只要视图窗口的激活状态被不是由shell视图本身引起的某个事件改变,就由资源管理器调用。例如,如果在树具有焦点的情况下按 TAB 键,则应将视图赋予焦点。
HRESULT UIActivate(
UINT【uState】 | //激活状态标志 |
); |
参数
【uState】
指定窗口的激活状态的标志。此参数可以是以下值之一:
值 | 含义 |
SVUIA_ACTIVATE_FOCUS | Explorer已经创建了具有输入焦点的视图窗口。这意味着shell视图应该能够设置适合聚焦状态的菜单项。 |
SVUIA_ACTIVATE_NOFOCUS | 外壳视图正在丢失输入焦点,或者刚刚创建没有输入焦点。shell视图应该能够设置适合非聚焦状态的菜单项。这意味着不应添加选择特定的项目。 |
SVUIA_DEACTIVATE | 资源管理器即将销毁shell视图窗口。shell视图应该删除所有扩展的UI,通常是合并的菜单和无模式的弹出窗口。 |
返回值
如果成功返回NOERROR,否则返回OLE定义的错误值。
备注
要重新菜单项,shell视图通常挂钩WM_SETFOCUS消息,并在重新加载之前调用IShellBrowser::OnViewWindowActivated.shell视图不应该钩住WM_KILLFOCUS消息来重新合并菜单项。
调用注意事项
调用此方法通知激活状态更改的视图。
实施者注意事项
使用此方法来跟踪激活状态并根据需要更改任何行为。
也可以看看