В настоящее время я поддерживаю старое приложение MFC и имею проблемы с открытием диалоговых окон файлов. Программа имеет несколько разных частей: пользователь выбирает файлы для загрузки, например, звук, видео и другие форматы, специфичные для программы.CFileDialog с realtive path
Открытие диалога всегда должно открываться в «конкретной» папке в зависимости от окончания файла. Предоставление пути к каталогу, содержащего «.. \», будет приниматься и диалог открывается с помощью «последнего выбранного файла».
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' не поддерживает относительные пути? – IInspectable