Windows编程基础--第14节 MFC之文件对话框CFileDialog
2017-11-01 20:32
232 查看
第14节 MFC之文件对话框CFileDialog
今天我们学习两个打开文件对话框、保存文件对话框,应用程序难免需要加载文件,或者打开配置文件等,这就用到打开或者保存对话框,例如windows文本编辑器中保存对话框就属于其中一种:1. 新建项目
新建一个基于对话框项目“day16”,布局如下,自行处理:拖动一个EDIT到界面,并修改如下属性:
属性 | 修改值 | 解释 |
---|---|---|
ID | IDC_EDIT_TXT | 控件ID |
Want Return | TRUE | 允许回车 |
Multiline | TRUE | 允许多行 |
Horizontal Scoll | TRUE | 水平滚动天 |
Vertical Scoll | TRUE | 垂直滚动条 |
2. 添加菜单资源
切换到资源视图,添加菜单资源如下:若不知道怎么添加菜单请参考Windows编程基础–第10节 MFC菜单
注意:菜单选项最后加上&符号可以设置快捷键,如“文件(&F)”,当程序运行时可以通过ALT + F快捷打开文件菜单选项;
将菜单绑定到主界面:
3. 实现文件打开对话框
右击菜单中“打开”选项,选择“添加事件处理处理程序”,添加处理程序,如图:其中行数处理程序名称:OnFileOpen,类列表选择:Cday16Dlg,添加编辑:
函数代码如下:
void Cday16Dlg::OnFileOpen() { // TODO: 在此添加命令处理程序代码 CFileDialog dlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST,_T("文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||"),this); dlg.m_ofn.lpstrInitialDir = _T("C:\\"); if (dlg.DoModal() == IDOK) { CStdioFile inFile; inFile.Open(dlg.GetPathName(),CFile::modeRead); CString text; CString temp; while(inFile.ReadString(text)) { GetDlgItemText(IDC_EDIT_TXT,temp); if (temp.GetLength() > 0) { SetDlgItemText(IDC_EDIT_TXT,temp +"\r\n"+ text); } else { SetDlgItemText(IDC_EDIT_TXT,text); } } inFile.Close(); } }
代码解释:
创建一个txt文件对话框;
如文件对话框确定按钮被点击,则打开文件位置,文件全路径就是dlg.GetPathName();
循环读取文件,知道文件读取结束;每读一行就先获取界面文本框的内容加上新读取的文本,重新设置到界面;
关闭文件
这样一个打开文件对话框就完成了,效果图如下:
3. 实现文件保存对话框
右击菜单中“保存”选项,选择“添加事件处理处理程序”,添加处理程序,如图:名称:OnSaveFile,类列表选择:Cday16Dlg,添加编辑:
函数代码如下
void Cday16Dlg::OnSaveFile() { // TODO: 在此添加命令处理程序代码 CFileDialog dlg(FALSE,NULL,NULL,OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT | OFN_PATHMUSTEXIST,_T("文本文件(*.txt)|*.txt||"),this); if (dlg.DoModal() == IDOK) { CFile file; //建立一个CFile对象 //打开文件,如果不存在该文件就创建文件 if(!file.Open(dlg.GetPathName(),CFile::modeCreate|CFile::modeWrite)) { AfxMessageBox( "can not Create file! "); return; } CString output; GetDlgItemText(IDC_EDIT_TXT,output); file.Write(output,strlen(output)); file.Flush(); //将在缓冲区中的字符写入文件中 file.Close(); //关闭文件 AfxMessageBox( "保存成功!"); } }
代码解释:
创建一个txt文件保存对话框;
如文件对话框确定按钮被点击,则获取文件位置,文件全路径就是dlg.GetPathName();
先获取界面文本框的内容,将内容写到文件中;
关闭文件
效果图:
好了,这节我们演示了如何创建文件打开和保存对话框,希望对大家有作用,今天就到这了。
项目源码可以访问我的码云
>>>我的私人博客<<<
相关文章推荐
- Windows编程基础--第5节 MFC对话框程序
- Windows编程基础--第8节 MFC对话框控件访问的七种方法(上)
- MFC打开/保存文件对话框:CFileDialog
- [引]Windows窗体编程基础学习: 对话框组件
- (转载)VS2010/MFC编程入门之十七(对话框:文件对话框)
- [引]Windows窗体编程基础学习: 对话框组件
- VS2013/MFC编程入门之十六(对话框:文件对话框)
- MFC打开/保存文件对话框:CFileDialog
- MFC选择目录SHBrowseForFolder选择文件CFileDialog对话框设置默认路径
- MFC——文件打开和保存对话框(CFileDialog)
- MFC——文件打开和保存对话框(CFileDialog)
- VS2010/MFC编程入门之十六(对话框:文件对话框)
- MFC编程 文件对话框(转载 鸡啄米)
- Windows编程基础--第10节 MFC菜单
- MFC学习笔记3 Windows编程基础--DialogBox、回调、消息、控件
- MFC打开/保存文件对话框:CFileDialog
- MFC---CFileDialog打开文件对话框
- VS2010/MFC编程入门之十七(对话框:文件对话框)
- MFC打开/保存文件对话框:CFileDialog
- Windows编程基础--第12节 MFC之树控件CTreeCtrl