【发布时间】:2020-11-12 11:07:51
【问题描述】:
我有两个与IFileSaveDialog 和IFileOpenDialog 相关的问题,我没有找到解决方案,希望您能帮助我。
- 当用户使用现有名称保存文件时,会出现“确认另存为”提示。我需要将“是”选项标记为默认选项,而不是“否”。
- 用户可以从同一个对话框打开/加载文件或文件夹。
这些可以用这个 API 完成吗?或者其他 API?
我尝试用谷歌搜索它并查看 Microsoft 文档以找到解决方案,但没有成功。
【问题讨论】:
-
1) 我认为没有官方选项,因为这显然是标准 UI 建议,默认设置为“否”。无论如何都找不到它 2)您可以使用 IFileDialog::SetOptions(...FOS_PICKFOLDERS ...) 但您只有文件夹。没有可以选择文件夹和文件的通用对话框,只能选择文件夹或文件。
-
对于1)你可以使用
IFileDialogEvents::OnOverwrite事件来显示你自己的提示,比如TaskDialogIndirect(),然后你可以让它显示你想要的任何文本和默认按钮。 -
IFileDialog::Get/SetOptions() 关闭 FOS_OVERWRITEPROMPT
-
@HansPassant
IFileDialogEvents::OnOverwrite需要启用FOS_OVERWRITEPROMPT -
该评论并非针对您。关键是要避免用覆盖警告吓跑用户。