2009-04-08 38 views
1

我創建了一個類似於Google GDrive的Windows Shell擴展。現在我想添加不同的視圖到從IShellView繼承的ListView。已添加新的上下文菜單以顯示3個視圖(細節,小圖標,大圖標)。當使用上下文菜單更改視圖時,需要刷新/創建當前窗口以顯示已更改的視圖。 在我的IShellFolder :: EnumObjects中,創建了一個新的ListView對象並自動調用OnCreate。我還需要在使用上下文菜單更改視圖時調用此方法。我猜可能會有一些像SHChangeNotify()這樣的API,它可以自動將所有的EnumObjects()都自動生成,並且新的IShellView窗口將使用已更改的視圖創建。如何在外部擴展中調用IShellFolder :: EnumObjects

回答

1

正如我從你的問題所理解的,你需要在listview中查看相同的內容,但需要使用新的視圖。

你並不需要重新創建新的視圖模式選擇後的列表視圖對象,只需設置ListView控件的樣式LVS_REPORTLVS_SMALLICON,或LVS_ICON

SHChangeNotify用於反映對樹窗格而不是ListView的更改。

相關問題