0

뷰 모드로 FVM_AUTO (-1) 플래그가있는 IShellView 인스턴스를 사용하고 있습니다. 즉, 탐색기는 표시된 폴더의 내용에 맞는 뷰 스타일을 선택해야합니다. 사실,이 외에도 viewstyle에 대한 columnheaders가 표시되지 않는다는 점만 제외하면 잘됩니다. 미리보기 이미지.IShellView : AutoHD가 세부 정보를 선택하지 않으면 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 지원에서 MS connect

추가 정보를보고 :
폴더보기를 제어합니다. CreateViewWindow에 전달한 값은 단지 제안 일뿐입니다. 대부분이 제안 사항은 존중되지만 폴더는 기술적으로 무시할 수 있습니다. 특히

,이 경우는 Windows XP와 호환성을 위해 제안을 무시합니다. IShellView3 :: CreateViewWindow3을 사용하면이 호환성 동작이 적용되지 않으며 플래그를보다 잘 반영해야합니다. SV3CVW3_FORCEFOLDERFLAGS 플래그를 사용하여 제안 사항을 더욱 강조 할 수 있습니다.

->IShellView3.CreateViewObject3을 ForceFolderFlags 플래그와 함께 사용