views:

187

answers:

1

I have created a Windows Shell Extension similar to Google's GDrive. Now I want to add different views to the ListView that inherits from IShellView. A new context menu has been added to to display 3 views (Details, Small Icon, Large Icon). When a view is changed using the context menu, the current window needs to be refreshed/created to display the changed view. In my IShellFolder::EnumObjects, a new ListView object is created and OnCreate is called automatically. I need to call this method when I change view using the context menu also. I guess there might be some API like SHChangeNotify() that can all the EnumObjects() automatically and a new IShellView window will be created with the changed view.

A: 

As i understood from your question, you need the same contents to be viewed in listview but with the new view.

You don't need to recreate the Listview object after the new view mode selection, Just set the ListView's style to LVS_REPORT,LVS_SMALLICON , or LVS_ICON.

SHChangeNotify used to reflect the change to the tree pane not the ListView.

Assem