关于CFileDialog的问题

在编写MFC程序时经常需要有浏览文件的功能,使用CFileDialog非常方便,但需要注意的是CFileDialog每次打开会改变程序的当前目录,因而对于相对路径的操作,就会有影响,导致其他基于相对路径的文件操作失败,因而比较好的做法都是对于文件路径操作等,应该使用完整路径。

也可以在CFileDialog打开前用GetCurrentDirectory获取当前目录,当CFileDialog关闭后再用SetCurrentDirectory还原。

CString filter;
CString FilePath;
char CurPath[100];
filter = "文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||";
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,filter);
GetCurrentDirectory(100,CurPath);
if (dlg.DoModal() == IDOK)
{
	FilePath = dlg.GetPathName();
	m_FilePath = FilePath;
	UpdateData(FALSE);
}
SetCurrentDirectory(CurPath);


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值