IShellBrowser接口提供命名空间扩展的服务,并且是由命名空间扩展实现的IShellView接口的伴侣。它类似于OLE主机场景中经常发现的“站点”界面,例如IOleControl和IOleControlSite.这允许扩展与主机的命名空间通信,提供UI元素,如菜单,状态文本和工具栏。此接口还为扩展提供了访问存储的方式来保存其持久视图状态。
IShellBrowser来自IOleWindow,它代表容器的顶级窗口,允许包含的视图将其菜单插入到复合菜单中,将复合菜单安装到相应的窗口框架中,并从复合菜单中删除容器的菜单元素。它设置并显示与就地对象相关的状态文本。它还启用或禁用框架的无模式对话框,并翻译用于容器框架的加速器按键。
何时实施
您不直接实现此接口。IShellBrowser由Windows资源管理器和Windows文件打开对话框实现。
何时使用
当实现命名空间扩展时,特别是IShellView,您将使用传递给IShellBrowser::CreateViewWindow以与资源管理器进行通信的IShellBrowser实现。
Vtable Order中的方法
IUnknown方法 | 描述 |
QueryInterface | 返回指向支持的接口的指针。 |
AddRef | 增加引用计数。 |
发布 | 减少引用计数。 |
IOleWindow方法 | 描述 |
GetWindow | 返回其中一个参与就地激活的窗口的句柄。 |
ContextSensitiveHelp | 确定在就地激活会话期间是否应输入上下文相关帮助模式。 |
IShellBrowser方法xh | 描述 |
InsertMenusSB | 将资源管理器的菜单项插入视图创建的空菜单。 |
SetMenuSB | 在资源管理器中安装复合菜单。 |
RemoveMenusSB | 给容器一个机会,从复合菜单中删除它的项目。它执行与InsertMenuSB相反的任务。 |
SetStatusTextSB | 在资源管理器窗口中设置和显示状态文本。 |
EnableModelessSB | 启用或禁用资源管理器的无模式窗口,例如浮动工具栏。 |
TranslateAcceleratorSB | 留作将来使用。 |
BrowseObject | 告诉浏览器浏览另一个文件夹。 |
GetViewStateStream | 返回视图特定的流,可以用于读取和写入视图的持久性数据。 |
GetControlWindow | 获取资源管理器控件的窗口句柄。 |
SendControlMsg | 发送邮件到资源管理器控件。 |
QueryActiveShellView | 返回当前激活(显示)的shellview对象。 |
OnViewWindowActive | 通知资源管理器视图已激活。 |
SetToolbarItems | 将工具栏项添加到资源管理器的工具栏。 |