【发布时间】:2016-11-24 16:24:08
【问题描述】:
我目前正在维护一个旧的 MFC 应用程序,但在打开文件对话框时遇到了问题。该程序有多个不同的部分,用户选择要加载的文件,例如声音、视频和其他程序特定格式。
打开对话框应始终在“特定”文件夹中打开,具体取决于文件结尾。提供包含“..\”的目录路径将被接受,对话框将打开并显示“最后选择的文件”。
CString fileDirectory = myHelper.getPath();
// fileDirectory is now "C:\coding\svn\source\MyProgram\..\..\bin\..\data\..\Audio\"
CFileDialog FileDialog(true, _T("MP3;WAV"), _T(fileDirectory), OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, _T("All music files (*.WAV;*.MP3)));
if (FileDialog.DoModal() == IDOK)
{ ... }
我使用不同的 CDialog 类(大约 15 个,例如用于编辑音频文件、用于视频文件),它们都有类似的代码来打开上述对话框。
如何支持 CFileDialog 的相对路径?
【问题讨论】:
-
您是如何得出结论的,
CFileDialog不支持相对路径?
标签: c++ winapi mfc dialog modal-dialog