语言: C ++
开发环境: Microsoft Visual C ++
使用的库: MFC
问题:我正在创建一个大型偏好设置编辑工具,其中包含具有不同设置的对话框,供用户自定义。设置的每个“页面”都将写入自己的XML文件。
用户将有两个选项:1)保存这些,系统会提示他们指定要保存的页面,以及2)全部保存,将每个页面保存到自己的XML文件中。
对于全部保存功能,如果用户只需指定他/她希望保存所有文件的目录,我会喜欢它。我很确定我必须使用 FolderBrowserDialog 类,但我不确定如何。我想这与OpenFile对话框或SaveFile对话框非常相似,其中一个参数指定保存到目录。
我在MSDN上找到了FolderBrowserDialog类,但它没有用。任何帮助将不胜感激!
解决方案:我找到了一个有效的解决方案。它基本上是上面几个答案的组合,但对于将来寻求类似解决方案的人,我引用了 THIS 页面。作者为创建目录选择器对话框所需的混乱代码创建了一个包装类。谢谢你提出的所有建议。你们都帮助我朝着正确的方向前进。欢呼声。
~Jon
答案 0 :(得分:2)
我认为要求用户保存“个人”页面很奇怪,我认为你应该将所有这些保存在一个文件中(嘿,但那只是我)。
如果您需要保存单个页面,则必须通过一个列出页面的小对话框提示用户,让用户选择哪个页面;或者您可以决定仅保存已修改的页面。
要选择文件夹,最简单的方法是使用ShBrowseForFolder(http://msdn.microsoft.com/en-us/library/bb762115(v = vs.85).aspx)
最大
答案 1 :(得分:2)
使用::SHBrowseForFolder()
。它显示标准的“浏览文件夹对话框”(至少在Windows XP中;我不知道Vista / 7是否有新的)。
我个人在课堂上使用它,如here所示。
答案 2 :(得分:0)
查看the OPENFILENAME结构和GetSaveFileName函数。后者实际上显示了保存文件对话框。