MFC中CFileDialog打开和保存文件对话框

刚刚在看师兄项目中的源码的时候,看了在主界面上菜单下“打开工程”的响应函数的头几行的代码如下。

经过测试,可知,上面几行代码的功能是打开我们比较熟悉的窗口,如下。
;
相信大家会比较熟悉这样的界面,因为我们无时无刻都在使用这样的功能:当点击某个软件中的菜单中“打开文件/工程”、“保存文件/工程”、”另存为“都回出现这样的界面。

所以,当我们自己当实现这样的功能时,只需要这几行代码即可,然后进行后续的处理。

CFileDialog dlg(TRUE,NULL,_T(" "),OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("(*.XML)|*.XML|All Files(*.*)|*.*||"),AfxGetMainWnd());
CString StrFolder;
dlg.DoModal();//在这里,可以加一个判断就更加完善些,如下
//if(Dlg.DoModal() != IDOK)//是否打开成功
//MessageBox("打开失败",NULL,MB_OK);
StrFolder = dlg.GetPathName();//得到完整的文件名,包括目录名和扩展名

下面就给大家介绍下第一条语句中各个参数的含义。

构造一个对象并提供相应的参数,构造函数原型如下:

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

各个参数的意义说明如下:

  • 第一个参数: bOpenFileDialog 为TRUE则显示打开文件对话框,为FALSE则显示保存文件对话框。
  • 第二个参数: lpszDefExt 指定默认的文件扩展名。
  • 第三个参数: lpszFileName 指定默认的文件名。
  • 第四个参数:dwFlags 指明一些特定风格。
  • 第五个参数:lpszFilter 是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。
    参数格式如:
    “Chart Files (.xlc)|.xlc|Worksheet Files (.xls)|.xls|Data Files (.xlc;.xls)|.xlc; .xls|All Files (.)|.||”
    说明:文件的类型说明和扩展名间用’|’分隔,同种类型的文件扩展名间用’;’分隔,每种文件类型间用’|’分隔,末尾用’||’指明。
  • 第六个参数:pParentWnd 为父窗口指针。

下面列出几个CFileDialog类的成员函数,我们可以使用它们获得文件对话框中的各种选择。

GetFileExt():获得选定文件的后缀名。
GetFileName():获得选定文件的名称,包括后缀名。
GetFileTitle():获得选定文件的标题,即不包括后缀名。
GetFolderPath():获得选定文件的目录。
GetNextPathName():获得下一个选定的文件的路径全名。
GetPathName():获得选定文件的路径全名。
GetReadOnlyPref():获得是否“以只读方式打开”。
GetStartPosition():获得文件名列表中的第一个元素的位置。

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

HelloWorld_EE

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值