我有一個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