gpt4 book ai didi

c++ - 实现一个Windows资源管理器扩展 View 界面

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:02:13 26 4
gpt4 key购买 nike

我有一个 Visual Studio 2008 C++ ATL 项目,它是 Windows 资源管理器的命名空间扩展。

在 Windows XP 的 Windows 资源管理器的工具栏 rebar 中,有一个标有“ View ”的图标。在普通 View 中,它会创建一个下拉菜单,允许用户选择“缩略图”、“平铺”、“图标”、“列表”或“详细信息”作为 View 类型。

这个按钮需要在我的项目中实现什么接口(interface)?目前,我实现了 IShellFolder 和 IShellView。当我在我的命名空间中单击“ View ”按钮时,没有任何反应。不显示任何菜单,并且不向用户提供更改 View 的选项。

谢谢,保罗H


编辑:这是我对 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() 永远不会被调用

最佳答案

试试 IFolderView::SetCurrentViewMode

关于c++ - 实现一个Windows资源管理器扩展 View 界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3088878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com