我想在List View控件中显示一个shell项目的聚合,从不同的文件夹收集,类似于Explorer的文件搜索机制的工作原理。
我有一种感觉,我需要使用IShellFolderView::AddObject
,但整个界面都已弃用,无论哪种方式,我都无法弄清楚如何实现这一点。
我将如何做到这一点?
答案 0 :(得分:1)
由于你坚持“获取”shell对象,我假设你没有使用列表视图控件,它需要你像CMFCShellListCtrl一样编写你自己的shell支持。如果您已编写代码以显示列表视图控件中单个文件夹中的文件,那么添加多个文件夹支持将非常简单。
如果您使用的是Explorer浏览器控件,请检查the Hilo project sample,它会创建一个搜索文件夹,其中包含用户库聚合的范围。您可以使用CLSID_EnumerableObjectCollection对象的IObjectCollection接口创建自己的文件夹集合。有关在Explorer Browser控件中显示搜索文件夹的示例,请查看Explorer Browser Search Sample
答案 1 :(得分:0)
如果它是你的listview控件,那么你可以只使用ListView_InsertItem。从任何地方枚举对象并将其添加到列表视图中。