首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

调用CFileDlg后程序默许路径被改变

2012-12-31 
调用CFileDlg后程序默认路径被改变基于对话框的程序,调用CFileDlg后程序默认路径被改变导致数据库,图片等

调用CFileDlg后程序默认路径被改变
基于对话框的程序,调用CFileDlg后程序默认路径被改变
导致数据库,图片等使用相对路径失效
如何在调用CFileDlg后恢复程序默认路径呢?
[解决办法]
当然是在调用之前记录默认的相对路径,然后在关闭CFileDialog后,重新设置默认的相对路径了。
问题是,如果有人在这台计算机的其它地方打开文件对话框选择了文件,那么默认相对路径也会改变,你怎么办呢?所以还是要用绝对路径。
[解决办法]
CFileDialog fileDlg(...);
fileDlg.m_ofn.lpstrInitialDir = _T("xxxxx"); //这里指定默认的路径

[解决办法]

引用:
引用:当然是在调用之前记录默认的相对路径,然后在关闭CFileDialog后,重新设置默认的相对路径了。
问题是,如果有人在这台计算机的其它地方打开文件对话框选择了文件,那么默认相对路径也会改变,你怎么办呢?所以还是要用绝对路径。

引用:CFileDialog fileDlg(...……

就是用SetCurrentDirectory()重新设置回CFileDialog打开前的当前目录
或者用绝对路径,好的习惯应该是都用绝对路径
[解决办法]
曾经我也被弄趴下过。
后来:
CFileDialog初始化的style加上OFN_NOCHANGEDIR

就没问题了

热点排行