在MFC VS2010中选择文件或文件夹

时间:2013-12-09 06:10:15

标签: c++ visual-studio-2010 mfc modal-dialog

我已将在VS2005上运行的MFC应用程序转换为VS2010 在那里我有功能从CSelectDialog中选择一个文件或文件夹,它工作正常。

但是当我将项目转换为VS2010时,我现在只能选择文件。 我怎么能摆脱它呢?我找不到任何可用于此的库。

我只想在VS2010中使用MFC选择文件或文件夹

不要将此视为

的重复

https://stackoverflow.com/questions/15852106/how-to-use-open-file-dialog-to-select-either-a-file-or-a-folder-in-vc-mfc

How do you configure an OpenFileDialog to select folders?

因为这些答案不适用于此。

2 个答案:

答案 0 :(得分:2)

源文件对文件对话框中子控件的类型和ID有很多假设。如果文件对话框升级为vista样式,则会破坏这些假设。您可以在构造函数中使用bVistaStyle参数来禁用自动升级。

带有BIF_BROWSEINCLUDEFILES的SHBrowseForFolder是我所知道的唯一一次选择文件和文件夹的方法。您还可以考虑在Windows资源管理器和程序之间支持Shell Data Transfer(例如拖放,复制/粘贴)。

答案 1 :(得分:1)

看起来您正在使用CodeProject中可能与2010不兼容的一些代码。您应该使用标准CFileDialog来避免任何兼容性问题。