문제

Vista에서 나는 An을 사용하고 있습니다 IFileSaveDialog 사용자가 "저장 AS"폴더를 선택할 수 있도록합니다. 사용자는 이미지 폴더를 내보내며 새 또는 기존 대상 폴더를 선택해야합니다.

간략하게 코드는 다음과 같습니다.

IFileSaveDialog* dialog; // created
dialog->SetOptions(FOS_PICKFOLDERS);
dialog->Show(NULL);
dialog->GetResult(&shellItem)

Windows 7에서 FOS_PICKFOLDERS 옵션은 허용되지 않은 것으로 보입니다 ( API). 의 반환 값 SetOptions 전화입니다 E_INVALIDARG. ifileopendialog를 사용하는 경우 폴더 옵션을 설정할 수 있지만 존재하지 않는 폴더를 선택할 때 사용자에게 오류가 표시됩니다 (내 설정 플래그에도 불구하고이를 제안하지 않음).

새로운 것을 얻는 대체 방법이 있습니까? IFileDialog "폴더 저장"대화 상자 역할을하려면?

일부 의견을 제시하기 위해 Shbrowseforfolder API는 여전히 존재하지만 여전히 UI 결정자에게는 허용되는 솔루션이 아닙니다.

도움이 되었습니까?

해결책

그 이유는 문서에서 찾을 수 있습니다.

fos_pickfolders : 파일보다는 폴더를 선택하는 열린 대화 상자를 제시하십시오.

"저장"에 fos_pickfolders를 사용하는 것은 결코 지원되지 않았지만 Vista는 그것을 시행하지 않았습니다. 대신 ifileopendialog를 사용하면 갈 수 있습니다. 기존 폴더를 선택하고 있습니다 (생성 할 폴더를 지정하지 않음). 열린 것은 항상 올바른 선택이었습니다.

다른 팁

나는 아직 Windows 7 대화 상자와 함께 연주하지 않았지만 다운로드했습니다. Windows® API 코드 팩 오늘 아침에 제가 작업중인 애플리케이션에서 썸네일 도구 모음과 아이콘 오버레이를 구현하고 있습니다. 아마도 당신을 올바른 방향으로 가리킬 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top