IShellBrowser

【勇芳软件工作室】汉化HomePreviousNext

IShellBrowser接口提供命名空间扩展的服务,并且是由命名空间扩展实现的IShellView接口的伴侣。它类似于OLE主机场景中经常发现的“站点”界面,例如IOleControlIOleControlSite.这允许扩展与主机的命名空间通信,提供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将工具栏项添加到资源管理器的工具栏。