2009-04-08 2 views
1

Google의 GDrive와 유사한 Windows 셸 확장을 만들었습니다. 이제 IShellView에서 상속받은 ListView에 다른보기를 추가하고 싶습니다. 새로운 컨텍스트 메뉴가 추가되어 세 가지보기 (세부 정보, 작은 아이콘, 큰 아이콘)를 표시합니다. 컨텍스트 메뉴를 사용하여보기를 변경하면 변경된보기를 표시하기 위해 현재 창을 새로 고치거나 작성해야합니다. IShellFolder :: EnumObjects에 새 ListView 개체가 만들어지고 OnCreate가 자동으로 호출됩니다. 상황에 맞는 메뉴를 사용하여보기를 변경할 때이 메서드를 호출해야합니다. 나는 모든 EnumObjects()를 자동으로 수행 할 수있는 SHChangeNotify()와 같은 API가있을 것이며 변경된보기로 새로운 IShellView 창이 생성 될 것입니다.셸 확장에서 IShellFolder :: EnumObjects를 외부에서 호출하는 방법

답변

1

귀하의 질문에서 알 수 있듯이 listview에서 볼 수 있지만 새로운보기가 있어야합니다. 당신은 새로운보기 모드 선택 후 목록보기 개체를 다시 할 필요가 없습니다

, 그냥 LVS_REPORT, LVS_SMALLICON, 또는 LVS_ICON에있는 ListView의 스타일을 설정합니다.

SHChangeNotify 변경 내용을 ListView가 아닌 ​​트리 창에 반영하는 데 사용됩니다.