MFC文件对话框

explicit CFileDialog(
   BOOL bOpenFileDialog,
   LPCTSTR lpszDefExt = NULL,
   LPCTSTR lpszFileName = NULL,
   DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
   LPCTSTR lpszFilter = NULL,
   CWnd* pParentWnd = NULL,
   DWORD dwSize = 0,
   BOOL bVistaStyle = TRUE
);

第一个参数:指定要创建的文件对话框的类型。设为TRUE将创建打开文件对话框,否则将创建保存文件对话框。

第二个参数:默认的文件扩展名。如果用户在文件名编辑框中没有输入扩展名,则由lpszDefExt指定的扩展名将被自动添加到文件名后。默认为NULL。

第三个参数:文件名编辑框中显示的初始文件名。如果为NULL,则不显示初始文件名。

第四个参数:文件对话框的属性,可以是一个值也可以是多个值的组合。关于属性值的定义,可以在MSDN中查找结构体OPENFILENAME,元素Flags的说明中包含了所有属性值。默认为OFN_HIDEREADONLY和OFN_OVERWRITEPROMPT的组合,OFN_HIDEREADONLY表示隐藏文件对话框上的“Read Only”复选框,OFN_OVERWRITEPROMPT表示在保存文件对话框中如果你选择的文件存在了,就弹出一个消息对话框,要求确定是否要覆盖此文件。

第五个参数:文件过滤器,它是由若干字符串对组成的一个字符串序列。如果指定了文件过滤器,则文件对话框中只有符合过滤条件的文件显示在文件列表中待选择。

第六个参数:文件对话框的父窗口的指针。

第七个参数:OPENFILENAME结构体的大小。不同的操作系统对应不同的dwSize值。MFC通过此参数决定文件对话框的适当类型

第八个参数:指定文件对话框的风格,设为TRUE则使用Vista风格的文件对话框,否则使用旧版本的文件对话框。此参数仅在Windows Vista中编译时适用。

一般只写到第五个参数,后面的参数使用默认。

下面列出几个CFileDialog类的成员函数,我们可以使用它们获得文件对话框中的各种选择。

GetFileExt():获得选定文件的后缀名。
GetFileName():获得选定文件的名称,包括后缀名。
GetFileTitle():获得选定文件的标题,即不包括后缀名。
GetFolderPath():获得选定文件的目录。
GetNextPathName():获得下一个选定的文件的路径全名。
GetPathName():获得选定文件的路径全名。
GetReadOnlyPref():获得是否“以只读方式打开”。
GetStartPosition():获得文件名列表中的第一个元素的位置。

扫描二维码关注公众号,回复: 2220451 查看本文章

以上函数最常用GetFileName()。

以上大量参考鸡啄米的博客。

博客链接:http://www.jizhuomi.com/software/173.html

以下介绍MFC 中 CFileDialog 的 m_ofn (OPENFILENAME) 结构体,这个结构体包含了上诉函数的功能和一些其他功能

这里我只介绍一个功能。

dlg.m_ofn.nFilterIndex

调用m_ofn.nFilterIndex功能获取选择文件的后缀名。

nFilterIndex返回选择文件的后缀名的索引,比如1,2,3,4对应filter的第一,二,三,四个选择。

更详细的其他功能请参考这位博主的博客:http://blog.sina.com.cn/s/blog_a1e6d4f50101d2gm.html

猜你喜欢

转载自blog.csdn.net/du_shuang/article/details/81071748