文档章节

C++_打开文件对话框

一个小妞
 一个小妞
发布于 2017/04/06 11:13
字数 430
阅读 6
收藏 0

1.CFileDialog类封装了Windows常用的文件对话框

CFileDialog构造函数的定义形式为:

CFileDialog::CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt = NULL,LPCTSTR lpszFileName =NULL,DWORDdwFlags = OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,LPCTSTR lpszFilter = NULL,CWnd* pParentWnd = NULL);

第一个参数: bOpenFileDialog : TRUE则显示打开文件对话框,FALSE则显示保存文件对话框。

第二个参数: lpszDefExt : 指定默认的文件扩展名。

第三个参数: lpszFileName : 指定默认的文件名 。

第四个参数: dwFlags : 指明一些特定风格。

第五个参数: lpszFilter : 指明可供选择的文件类型和相应的扩展名。

第六个参数: pParentWnd : 为父窗口指针。

(1)选择一个xls或者xlsx格式的文件,具体用法如例:

CString strFileFilter(_T("XLS File(*.xls)|*.xls|XLSX File(*.xlsx)|*.xlsx||"));
CFileDialog fileOpen(TRUE, _T("*.xls;*.xlsx"), _T("数据表"), OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,strFileFilter , NULL);
fileOpen.m_ofn.lpstrTitle = _T("对话框标题");
if (IDOK != fileOpen.DoModal())
    return;

fileOpen.GetPathName ();//选择的路径(E:\CAD选线成果样例1.dwg)
fileOpen.GetFileName();//文件名称(CAD选线成果样例1.dwg)
fileOpen.GetFileExt();//文件后缀(dwg)

(2)导出到文件夹内,也可以实现选择到文件夹层而不是文件层

CFileDialog saveFile = CFileDialog( FALSE,".xls","信息.xls",OFN_CREATEPROMPT|OFN_PATHMUSTEXIST,"Microsoft Excel(*.xls)");
if (IDOK==saveFile.DoModal())
{
     CString sExcelFile = saveFile.GetPathName();
}

2.DoPromptFileName:MFC显示文件打开对话框获得文件名。

DoPromptFileName构造函数的定义形式为:

BOOL DoPromptFileName(CString& fileName, UINT nIDSTitle,DWORD lFlags, BOOL bOpenFileDialog, CDocTemplate* pTemplate);

第一个参数:fileName:选择的文件路径;第二个参数:nIDSTitle:第三个参数:lFlags:第四个参数:bOpenFileDialog:第五个参数:pTemplate

具体用法如例:

CString newName;
if (!DoPromptFileName(newName, AFX_IDS_OPENFILE, OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, TRUE, NULL))
	return;

 

© 著作权归作者所有

一个小妞
粉丝 53
博文 187
码字总数 132764
作品 0
海淀
程序员
私信 提问
VS2010/MFC编程入门教程之目录和总结(鸡啄米)

鸡啄米的这套VS2010/MFC编程入门教程到此就全部完成了,虽然有些内容还未涉及到,但帮助大家进行VS2010/MFC的入门学习业已足够。以此教程的知识为基础,学习VS2010/MFC较为深入的内容已非难事...

weixin_40647819
2018/05/23
0
0
c++ ActiveX基础1:使用VS2010创建MFC ActiveX工程项目

1.ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。这个容器包括WEB网页,应用程序窗体等。。。 ActiveX控...

moki_oschina
2015/01/08
0
0
MFC开发IM-自绘按钮控件,给按钮设置背景图片

MFC 基础知识:对话框背景添加图片和按钮Button添加图片 很长时间没有接触MFC相关的知识了,我大概是在大二时候学习的MFC相关知识及图像处理,现在由于要帮个朋友完成个基于C++的程序,所以又...

golddaniu
2018/05/10
0
0
【Visual C++】一些开发心得与调试技巧

自己平时收集的一些技巧与心得,这里分享出来,普及一下知识。 1.如何在Release状态下进行调试 Project->Setting=>ProjectSetting对话框,选择Release状态。C/C++标签中的Category选General...

长平狐
2012/11/12
77
0
VC++动态链接库(DLL)编程[精]

1.概论   先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库...

barsoom
2012/12/07
0
1

没有更多内容

加载失败,请刷新页面

加载更多

HeyUI组件库按需加载功能上线,盘点HeyUI组件库有哪些独特功能?

HeyUI组件库 如果你还不了解heyui组件库,欢迎来我们的官网或者github参观。 官网 github 当然,如果能给我们一颗✨✨✨,那是最赞的了! 按需加载 当heyui组件库的组件越来越多的时候,按需...

vvpvvp
32分钟前
9
0
Dockerfile文件详解

Dockerfile文件详解 什么是dockerfile? Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。 docker bui...

Jeam_
45分钟前
2
0
阿里云PolarDB发布重大更新 支持Oracle等数据库一键迁移上云

5月21日,阿里云PolarDB发布重大更新,提供传统数据库一键迁移上云能力,可以帮助企业将线下的MySQL、PostgreSQL和Oracle等数据库轻松上云,最快数小时内迁移完成。据估算,云上成本不到传统...

zhaowei121
53分钟前
1
0
在数据数据探索过程中的一些常用操作

###pandas在做数据探索时,分组统计均值和中位数参考资料:http://www.cnblogs.com/nxld/p/6058591.htmlhttp://python.jobbole.com/85742/按字典重新赋值,可以直接使用pandas中的repla...

KYO4321
55分钟前
1
0
好程序员分享干货 弹性分布式数据集RDD

一、RDD定义 RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变(数据和元数据)、可分区、里面的元素可并行计算的集合。其特点在于自动容...

好程序员IT
57分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部