CFileDialog类的详情
CFileDialog类封装了Windows常用的文件对话框。
常用的文件对话框提供了一种简单的与Windows标准相一致的文件打开和文件存盘对话框功能。
void CnotepadDlg::OnOpen()
{
char szFileFilter[] = "文本(*.txt)|*.txt|";
char szFileExt[] = "txt";//设置扩展名为txt
CFileDialog dlg(true, szFileExt, NULL, OFN_HIDEREADONLY, szFileFilter);
if (dlg.DoModal() == IDOK)
{
CStdioFile File;
CString strLine,strText;//设置两个变量,一个用于存储文本一行的内容,一个存储所有的内容
File.Open(dlg.GetPathName(), CFile::modeReadWrite);
while (File.ReadString(strLine))
{
strLine += "\r\n";//这个必须加,这样就能正常换行
strText += strLine;
}
m_edit.SetWindowText(strText);
File.Close();
}
}
以上是在记事本MFC程序中的“打开文件”按钮下的代码。
CFileDialog::CFileDialog
(
BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL
);
参数: bOpenFileDialg 如果为TRUE, 则创建文件打开对话框;如果为FALSE,则构造一个File Save As(另存为)对话框。
lpszDefExt 缺省文件扩展名,如果用户在文件名编辑框中不包含扩展名,则lpszDefExt定义的扩展名自动加到文件名后。如果为NULL,则不添加扩展名。
lpszFileName 初始显示于文件名编辑框中的文件名,如果为NULL,则不显示初始文件名。
dwFlags 一个或多个标志的组合,使你可定制对话框。要了解这些标志的描述,可参阅联机文档“Win32 SDK”中的OPENFILENAME结构。如果你改变m_ofn.Flags结构成员,在改变中用OR操作保持缺省行为完整。
lpszFilter 一列字符串对,指定可以应用到文件的过滤器。如果指定过滤器,仅被选择的文件显示于文件列表框中。请参阅说明部分,了解如何使用过滤器。
pParentWnd 指向文件对话框对象的父窗口或拥有者窗口。
说明:
1、调用此成员函数构造一个标准Windows文件对话框对象,或构造一个打开对话框或构造一个存盘对话框,根据bOpenFileDialog的值决定。
2、OFN_ALLOWMULTISELECT标志。你应提供文件名缓冲区来放置返回的多个文件名的列表,这通过用一个分配了的缓冲区指针替换m_ofn.lpstrFile来实现,要在创建了CFileDialog之后调用DoModal之前进行此操作。另外,必须用m_ofn.lpstrFile指向的缓冲区字节数来设置m_ofn.nMaxFile。
3、为使用户用鼠标或键盘改变一个Explorer风格对话框的大小,设置OFN_ENABLESIZING标志,这仅当你提供一个钩子进程或定制模板时才有必要设置。此标志仅与一个Explorer风格的对话框一起工作,旧风格的对话框不可改变大小。
4、lpszFilter参数用于判断文件名类型及文件列表框中哪些可被显示。双字符串的第一个字符串描述过滤器,第二个串表明使用的文件扩展名,多重扩展可用“;”来指定。字符串由两个“|”字符结尾,最后是一个NULL。也可使用CString对象作为参数。
例如,Mirosoft Excel 允许用户用.XLC扩展名(表)或.XLS(工作表)打开文件,Excel过滤器应如下:
static char BASED_CODE szFilter[] =
"Chart Files (*.xlc)|*.xlc|Worksheet Files (*.xls)|*.xls|Data Files (*.xlc;*.xls)|*.xlc; *.xls|All Files (*.*)|*.*||";
CFileDialog类的详情的更多相关文章
- CFileDialog类与16进制格式的dat文件
CFileDialog类与16进制格式的dat文件 要将数据保存为.dat文件,而且是16进制的数字,怎么保存? 要读取.dat文件,文件是16进制的,怎么读取? 用CFileDialog类可以得到[ ...
- mfc CFileDialog类
知识点: CFileDialog类 SetBitmap LoadImage 动态显示图片 一.CFileDialog类 构造函数 CFileDialog( BOOL bOpenFileDialog, ...
- JVM打印加载类的详情信息
使用JVM参数即可:-XX:+TraceClassLoading
- Startup配置类 居然又是约定
Microsoft.Owin.Host.SystemWeb 这个dll可以让OWin接管IIS的请求,虽然同样是托管在IIS,但是所有的请求都会被OWin来处理.在OWin的4层结构中(Applica ...
- MFCC常用类介绍
http://www.cnblogs.com/lzmfywz/archive/2012/04/22/2465069.html CStatic CObject └CCmdTarget └CWnd └CS ...
- QFtp类参考
QFtp是一个用来实现FTP协议的类. 详情请见…… #include <qftp.h> 继承了QNetworkProtocol. 所有成员函数的列表. 公有成员 QFtp () virt ...
- 利用CodeIgniter中的Email类发邮件
CodeIgniter拥有功能强大的Email类.以下为利用其发送邮件的代码. 关于CI的Email类的详情请参考:http://codeigniter.org.cn/user_guide/libra ...
- Visual C++中最常用的类与API函数
这篇文章能让初学者快速了解visual C++ MFC中常见的核心的类与函数,虽然全部看下来有点枯燥,但对初学者快速了解MFC的框架结构很有好处. 常用类 CArchive类:用于二进制保存档案 CB ...
- C# 高德地图调用帮助类 GaodeHelper
/// <summary> /// 高德地图调用帮助类 /// 更多详情请参考 高德api /// </summary> public class GaodeHelper { ...
随机推荐
- spring mvc ajax异步文件的上传和普通文件上传
表单提交方式文件上传和ajax异步文件上传 一:首先是我在spring mvc下的表单提交方式上传 ssm的包配置我就不一一详细列出来了,但是上传的包我还是列出来 这一段我也不知道怎么给大家讲解就是直 ...
- Camtasia studio8.0破解方法
Camtasia Studio 8.0 注册说明: 1.安装时使用以下信息注册: 用户名: Honorary User密钥: GCABC-CPCCE-BPMMB-XAJXP-S8F6R 或者是 Nam ...
- Video Processing and Communications:(视频处理和通信)
https://max.book118.com/html/2017/1010/136711526.shtm Application of (GAN) of AI faceswap in Music V ...
- bat文件命令
- POJ2429--GCD & LCM Inverse (UNSOLVED)
Given two positive integers a and b, we can easily calculate the greatest common divisor (GCD) and t ...
- hihocoder 二分
题目 一个简单的二分,只是想说明一下,如若要查找一个数组中某个数的下标可以直接用lower_bound()这个函数.只是要考虑到要查找的数不在数组中的这种情况. #include <cstdio ...
- spfa负环判断
正常spfa中加入time数组,循环判断一个点是否入队并更新了n次以上注意是 > n!!其余的没有什么问题 扩展的还有,寻找所有负环上的点,这个可以在spfa中time 发现负环的时候,对那个点 ...
- fping常用参数介绍
fping的主要参数有以下两个: -a:只显示存活主机: -u:只显示不存活主机: -l:循环ping目标IP地址的输入方式: fping IP1 IP2 IP3 ...: fping -f file ...
- C# 判断access建库、建表、文件是否存在等
1.创建数据库 2.判断表是否存在 3.创建表 1. #region access数据库操作 之 创建数据库 private void creatMDB(string dbNam ...
- WPF 内存泄漏优化经历
最近公司有个CS客户端程序,有个登录界面,有个程序的主界面,程序支持注销功能,但是在注销后,客户端的内存一直以40M-50M的速度递增,因此猜测,应该是WPF程序出现了内存泄漏.下面主要记录优化内存泄 ...