关于 CFileDialog类 引起的默认路径问题

原创 2007年09月13日 16:37:00
当使用CFile类的Open成员函数打开一个文件时,如果不指定文件的路径会默认为当前程序的路径,但如果使用了文件打开对话框CFileDialog类并打开了一个文件的话,则Open成员函数文件的默认路径会变成CFileDialog类打开文件的路径。 解决方案如下:
       在打开文件框之前,取得系统的默认路径,即
 CString strCurrentPath;
GetCurrentDirectory(
200,strCurrentPath.GetBuffer(200));
strCurrentPath.ReleaseBuffer();

  当打开文件框后,重新设置系统的默认路径,即

 SetCurrentDirectory(strCurrentPath);

使用CFileDialog后相对路径的图片加载失败的问题

这几天被一个很困惑的问题给纠结到 是这样的场景: XP系统启动CFileDialog用来选择一张图片。返回后页面整个程序资源重新加载一次。 问题出现了。关闭这个后所有相对路径的图片都加载失败了!...
  • loseleo
  • loseleo
  • 2012年01月30日 21:04
  • 2039

CFileDialog 选择多个文件打开同时不同目录下,文件绝对路径不正确的问题

使用CFileDialog 打开多个文件,获取文件路径。一般的使用情况为同一个文件夹目录下的某些文件,除文件名不一致外,前面路径均一样,使用GetStartPosition(),GetNextPath...
  • safeili
  • safeili
  • 2017年12月05日 15:31
  • 11

CFileDialog改变系统当前路径的问题

在调试程序中发现,有的几个对文件操作的命令,分开操作是成功的,但是当一个执行了,而另外一个就不能执行了。 最后发现,是因为一个命令是打开文件对话框进行保存文件,而在打开文件夹的同时会改变系统的当前路...

MFC选择目录SHBrowseForFolder选择文件CFileDialog对话框设置默认路径

大气象学习园地 博客园新闻新随笔管理订阅 随笔- 664  文章- 1  评论- 2638  MFC选择目录SHBrowseForFo...

VC新建目录CreateDirectory、得到exe存放路径GetModuleFileName、获取当前目录GetCurrentDirectory、CFileDialog设置打开默认路径

创建多级目录 [cpp] view plaincopy void CreateFolder(char *FilePath)   {       char...

VC新建目录CreateDirectory、得到exe存放路径GetModuleFileName、获取当前目录GetCurrentDirectory、CFileDialog设置打开默认路径

创建多级目录 void CreateFolder(char *FilePath) { char FilePath2[MAX_PATH]=""; for (int i =0; i< MAX...
  • whucv
  • whucv
  • 2012年05月07日 16:04
  • 9978

为CFileDialog类指定一个默认的文件夹

CFileDialog类说明 在MFC中编程序,如果想使用选择文件对话框功能,CFileDialog类是首选。它可以简便打开选择文件的对话框,让使用者选择一个或者多个文件。一般使用时,默认是打开“...
  • zmq5411
  • zmq5411
  • 2014年08月29日 21:13
  • 402

注意,CFileDialog 会改变当前路径

今天用到 CFileDialog  来保存文件,无意中发现之前读取XML文件方法失败了,LoadFile 总是返回NULL。之前LoadFile 都是用相对路径来加载XML文件,问题很明显,应该是路径...

VC CFileDialog打开文件对话框获取文件路径

http://blog.sina.com.cn/s/blog_63e60e9c0100rubl.html     CFileDialog构造函数 view sourceprint...

MFC之CFileDialog文件保存扩展名问题

void CmapfileDlg::OnBnClickedNew2() {  static char BASED_CODE szFilter[] = "Map Files (*.map)|...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于 CFileDialog类 引起的默认路径问题
举报原因:
原因补充:

(最多只允许输入30个字)