打开/另存为对话框

今天尝试了下打开和另存为对话框。遇到了以下几个问题。
1.MFC 单文档的菜单栏新添加的项怎么添加响应;
2.文件打开后怎么操作它;
3.怎么在打开/另存为对话框里设置文件类型的过滤;
借助手册和实践得出如下解决方法:
MFC中用CFile类进行文件的操作,常用的CFile类的成员函数有Open、Read、Write等等。这是我们对文件的操作函数。
CFileDialog类则是负责打开/另存为对话框的相关任务了。在定位CDileDialog对象的时候给出的是TRUE的话则是打开对话框,是FALSE的话
则是另存为对话框。
CFileDialog file(TRUE);//打开对话框
CFileDialog file(FALSE);//另存为对话框
因为CFileDialog类派生自CDialog类,所以用他的成员函数DoModal就可以将其显示出来了。
针对第一个问题:在VC 6.0 的资源视图里面,找到menu资源,然后在其上增加一个标签“文件操作”,然后在这个标签下面增加一个项“打
开”:如下图所示:

增加好上面得操作之后,就可以为之添加按键响应。在打开文件上右击鼠标,选择ClassWizard,出现以下界面:

在Message中选择COMMAND,然后在点击右侧的ADD FUNCTION按钮。至此对其的响应就可以写在这个函数里面了。
例如写上:
CFileDialog file(TRUE);
file.DoMlodal();
就可以在按下这个按钮的时候出现打开文件的对话框了。
针对第二个问题:就是在退出打开文件对话框后对文件的操作了,可以用以下代码:
if(IDOK==file.DoModal()){
CFile myfile(file.GetPathName(),CFile::ModeCreate|CFile::ModeRead);//如此就读出选定的文件了
…//此处是对文件的操作了
}
针对第三个问题:CFileDialog类有个成员m_ofn,这个成员是一个结构体,其有成员lpstrFilter,这个就是设置过滤规则的,默认的 是没有过
滤。下面代码是一个过滤的实例:
file.m_ofn.lpstrFilter=”Text files(*.txt)/0”;
如此就过滤出了文本文件了。

打开/另存为对话框在设计中经常用的,此处做一个了简单的说明。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值