我有一个Visual Studio 2008 C++ ATL项目,它是Windows资源管理器的命名空间扩展。实现Windows资源管理器扩展视图界面
在Windows XP中Windows资源管理器的工具栏螺纹钢中,有一个标有“视图”的图标。在普通视图中,它会创建一个允许用户选择“缩略图”,“瓦片”,“图标”,“列表”或“细节”作为视图类型的下拉菜单。
我需要在我的项目中为此按钮实现什么接口?目前,我实现了IShellFolder和IShellView。当我在我的命名空间中单击“视图”按钮时,没有任何反应。没有菜单显示,用户也没有改变视图的选项。
感谢, PaulH
编辑:这是我的实现IShellView,IServiceProvider的,和IFolderView
class ATL_NO_VTABLE CShellViewImpl :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass< CShellViewImpl, &CLSID_ShellViewImpl >,
public IDispatchImpl< IShellViewImpl,
&IID_IShellViewImpl,
&LIBID_MyLib,
/*wMajor =*/ 1,
/*wMinor =*/ 0 >,
public IShellView,
public IServiceProvider,
public IFolderView
{
public:
DECLARE_REGISTRY_RESOURCEID(IDR_SHELLVIEWIMPL)
BEGIN_COM_MAP(CShellViewImpl)
COM_INTERFACE_ENTRY(IShellViewImpl)
COM_INTERFACE_ENTRY(IServiceProvider)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(IShellView)
COM_INTERFACE_ENTRY(IFolderView)
END_COM_MAP()
DECLARE_PROTECT_FINAL_CONSTRUCT()
// IXYZ implementations...
};
的IServiceProvider :: QueryService的()是从来没有所谓的
find here,sample to帮助你:[一体式代码框架示例目录](http://1code.codeplex.com/wikipage?title=All-In-One%20Code%20Framework%20Sample%20Catalog) – lsalamon 2010-07-01 13:34:01