VC++项目开发笔记——打开或保存指定类型的文件CFileDialog类
来源:互联网 发布:暴走大事件之网络语 编辑:程序博客网 时间:2024/05/21 09:17
有些时候,我们的程序需要打开和保存指定类型的文件。比如.bmp .jpg .doc等等。
而点击主菜单上的MFC默认的打开和保存对话框时,系统会把所有的文件都显示出来,如果文件类型较多,要找到我们所需的文件就要不停地拖动滑块,造成了不必要的麻烦。那么,如何使这项工作变得简单又清晰呢?微软为我们提供了一个CFileDialog::CFileDialog函数,可以很好地解决这个问题。
先来看一下这个函数在MSDN的具体使用方法:
void CChildFrame::OnFileOpen() { // szFilters is a text string that includes two file name filters: // "*.my" for "MyType Files" and "*.*' for "All Files." char CChildFrame::szFilters[]= "MyType Files (*.my)|*.my|All Files (*.*)|*.*||"; // Create an Open dialog; the default file name extension is ".my". CFileDialog fileDlg (TRUE, "my", "*.my", OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilters, this); // Display the file dialog. When user clicks OK, fileDlg.DoModal() // returns IDOK. if( fileDlg.DoModal ()==IDOK ) { CString pathName = fileDlg.GetPathName(); // Implement opening and reading file in here. ... //Change the window's title to the opened file's title. CString fileName = fileDlg.GetFileTitle (); SetWindowText(fileName); }}
下面来具体分析这个函数的参数。
第一个参数如果设置为TRUE,则代表打开一个对话框;若为FALSE,则是打开的是保存对话框;
第二个参数代表默认的文件扩展名,可以设为NULL;
第三个参数指定默认的文件名,可以设为NULL;
第四个参数指明特定的风格;
第五个参数指明可供选择的文件类型和相应的扩展名,具体的使用方法可以从上面的例子中看出。注意:最后的结尾是两道竖线。另外,还可以先定义一个字符串把所需要的文件后缀都写出来,然后再在使用时将该参数用字符串名来代替。方法如下:
static char BASED_CODE szFilter[] = "Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";第六个参数为父窗口的指针。
- VC++项目开发笔记——打开或保存指定类型的文件CFileDialog类
- vc 使用CFileDialog打开或保存文件
- 使用CFileDialog类保存和打开文件的一点小记
- MFC——文件打开和保存对话框(CFileDialog)
- MFC——文件打开和保存对话框(CFileDialog)
- 文件对话框CFileDialog类:打开和保存
- C#项目打开/保存文件夹/指定类型文件,获取路径
- C#项目打开/保存文件夹/指定类型文件,获取路径
- 打开/保存文件对话框:CFileDialog
- 打开/保存文件对话框:CFileDialog
- Winform打开指定文件(夹)或保存指定文件
- CFileDialog 打开目录文件 保存目录文件
- CFileDialog 打开目录文件 保存目录文件
- CFileDialog 打开目录文件 保存目录文件
- CFileDialog 打开目录文件 保存目录文件
- CFileDialog 打开目录文件 保存目录文件
- CFileDialog 打开目录文件 保存目录文件
- vc CFileDialog 打开文件默认文件规则
- Android 蓝牙 java.io.IOException: Connection refused 异常处理笔记
- SQL Server 2008 释放堆表空间
- 指尖上的Android之实战篇(四)
- 如何进行Android单元测试
- 安装 Discuz!X2.5 出现 you don't have permission to access /install on this server
- VC++项目开发笔记——打开或保存指定类型的文件CFileDialog类
- Markup类 xml文件操作
- 超级终端串口发送命令,uboot接收不到
- 使用纯代码编写了底部是tab一个视图有nav的例子
- Linux下PATH环境变量的修改
- Ansi、Unicode、UTF8字符串之间的转换,wprintf(学习)
- MFC选择目录SHBrowseForFolder
- 代理模式
- 运行缓慢的查询语句(阻塞)(二)--识别阻塞