2012-08-02 26 views
0

我使用帶有FVM_AUTO(-1)標誌的IShellView實例作爲視圖模式。這意味着資源管理器應該選擇適合顯示文件夾內容的視圖樣式。 除了事實之外,此工作正常,列標題對於除Details之外的viewstyle可見,例如縮略圖。如果AutoView沒有選擇詳細信息,IShellView:ColumnHeaders不會隱藏

的IShellView對象和視圖窗口中創建這樣的:

ShellFolder1.CreateViewObject(this.Handle, 
           ref IID_IShellView, 
           out shellViewObject)); 
IShellView shellView = shellViewObject as IShellView; 
FolderSetting folderSettings = new FolderSetting(); 
folderSettings.ViewMode = (int)View; // view is FVM_AUTO = -1 
folderSetting.FolderFlags = FolderFlags.NoClientEdge 
          | FolderFlags.ExtendedTiles 
          | FolderFlags.AutoArrange 
          // only columnheaders for view mode details 
          | FolderFlags.NoHeaderInAllViews; 
shellView.CreateViewWindow(oldView, ref folderSettings, isb, 
          ref rect, ref m_ShellViewHandle); 

可用的文件夾標記列表可以在這裏找到:http://msdn.microsoft.com/en-us/library/bb762508(VS.85).aspx

任何建議如何告訴認爲,列標題應該是僅在自動查看模式下顯示「詳細信息」?設置FolderFlags.NoColumnHeader不會改變任何東西。

由於

回答

0

此行爲似乎是一個錯誤,並且據報道在MS connect

從MS支持附加信息:
文件夾控制圖。您傳遞給CreateViewWindow的值僅僅是建議。大多數情況下,這些建議都受到尊重,但技術上允許文件夾忽略它們。

特別是,這種情況會覆蓋與Windows XP兼容的建議。如果您使用IShellView3 :: CreateViewWindow3,則此兼容性行爲不適用,並且應更好地尊重標誌。 您可以使用SV3CVW3_FORCEFOLDERFLAGS標誌使您的建議更加強調。

- >使用IShellView3.CreateViewObject3與ForceFolderFlags標誌

相關問題