如何在shell扩展中外部调用IShellFolder :: EnumObjects

时间:2009-04-08 07:12:41

标签: shell-extensions

我创建了类似于Google的GDrive的Windows Shell扩展程序。现在我想为继承自IShellView的ListView添加不同的视图。添加了新的上下文菜单以显示3个视图(详细信息,小图标,大图标)。使用上下文菜单更改视图时,需要刷新/创建当前窗口以显示更改的视图。 在我的IShellFolder :: EnumObjects中,创建了一个新的ListView对象,并自动调用OnCreate。当我使用上下文菜单更改视图时,我需要调用此方法。我想可能会有一些像SHChangeNotify()这样的API可以自动生成所有的EnumObjects(),并且可以使用更改的视图创建一个新的IShellView窗口。

1 个答案:

答案 0 :(得分:1)

正如我从您的问题中所理解的那样,您需要在列表视图中查看相同的内容,但需要使用新视图。

在选择新视图模式后,您无需重新创建Listview对象,只需将ListView的样式设置为 LVS_REPORT LVS_SMALLICON LVS_ICON < /强>

SHChangeNotify用于反映对树窗格而不是ListView的更改。