我尝试创建一个对话框来选择要将文件保存到的新文件夹。 IFileOpenDialog类很有效,只是它不允许选择新文件夹。
即。 "文件夹:C:\ existings \ new-folder"在对话框的底部弹出以下消息:
新文件夹
路径不存在。
检查路径,然后重试。
这是我的代码:
IFileDialog* fileDialog
CoCreateInstance(CLSID_FileOpenDialog, NULL, CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&fileDialog));
DWORD options;
fileDialog->GetOptions(&options);
options &= ~FOS_FILEMUSTEXIST;
options &= ~FOS_PATHMUSTEXIST;
fileDialog->SetOptions(options | FOS_PICKFOLDERS);
fileDialog->Show(parentWindow);
任何指针或黑客都将不胜感激!谢谢!
引用迈克尔的other question:
[为了取消一些评论,SHBrowseForFolder API仍然存在,但仍然不是我们的UI决策者可接受的解决方案。]
这同样适用于此......
答案 0 :(得分:2)
在选择文件夹时,您可以使用文件夹选择器对话框。 这个,右边的标志在底部有一个“创建”按钮和一个文本条目,允许你指定一个不存在的路径。
答案 1 :(得分:2)
我认为你想使用 CLSID_FileSaveDialog 而不是CLSID_FileOpenDialog。除了基类IFileDialog之外,还可以使用IFileSaveDialog。