MFC 文件选择对话框

           VS2010使用:

     CFileDialog(
   BOOL bOpenFileDialog,
   LPCTSTR lpszDefExt = NULL,
   LPCTSTR lpszFileName = NULL,
   DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
   LPCTSTR lpszFilter = NULL,
   CWnd* pParentWnd = NULL,
   DWORD dwSize = 0,
   BOOL bVistaStyle = TRUE
);

///CFileDialog构造函数

这里只说最后一个参数,与我遇到的情况,并谈谈避免方法

我在使用CFileDialog时候,同时进行文件操作(是指 用CFile fopen一类函数打开相对路径文件,不是CFileDialog返回的选择文件名。),当你选择文件后,一定是选择了确定,之后你在进行文件操作,你会发现打不开文件。

这个后来发现是文件选择对话框 会改变应用程序的当前路径,所以你的相对路径就会无效了。导致打开你的配置文件无效。

CFileDialog 最后一个参数, 可以指定vista风格。 默认是选择,就是1 。 这样子就没有我所遇见的问题了。如图

MFC 文件选择对话框 - asb2010 - C++追梦之路
 

 

  偏偏我的电脑上的VS2010装的有点问题, 使用默认风格时,调试是对的,发布的时候就会给你弄成另外一种风格,这种风格如下图,就会发生我遇到的问题。

MFC 文件选择对话框 - asb2010 - C++追梦之路
 

 

一开始我一直找不到原因,后来调试了知道错误发生在打开了文件选择对话框这里,就是不知道错误原因。 

后来我们公司的前辈,大牛哇,我给他一说,他就说是文件路径的问题,叫我写绝对路径,然后就没这个问题咯。

 

我写这里主要是备注。

 

第一种方法就是将文件选择对话框 的风格为1 ,就不会有这情况咯。

第二种就是写绝对路径。 

绝对路径要保险些。 但是第一种方便些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值