目录
应用场景
在大多数常用软件中,都会发现“打开”和“另保存”的选项,以“记事本的另存为”为例,其打开对话画框的界面如下:
为了实现如上图所示的对话框界面,我们可以通过CFileDialog类来实现。
CFileDialog类
CFileDialog类封装了Windows常用的文件对话框。常用的文件对话框提供了一种简单的与Windows标准相一致的文件打开和文件存盘对话框功能。
其构造函数如下:
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);
bOpenFileDialog
用于指定要创建的对话框类型的参数。 将其设置为 TRUE 可构造 文件打开 对话框。 将其设置为 FALSE 可构造 " 另存为 " 对话框。
lpszDefExt
中默认的文件扩展名。 如果用户不包含具有用户计算机关联的已知扩展 () 在 "文件名" 框中,则由 lpszDefExt 指定的扩展将自动追加到文件名。 如果此参数为 NULL,则不追加扩展。
lpszFileName
中出现在 "文件名" 框中的初始文件名。 如果为 NULL,则不会出现初始文件名。
dwFlags
中可用于自定义对话框的一个或多个标志的组合。 有关这些标志的说明,请参阅 Windows SDK 中的 OPENFILENAME 结构。 如果修改 m_ofn.Flags 结构成员,请在更改中使用按位 "或" 运算符,使默认行为保持不变。
lpszFilter
中一系列字符串对,用于指定可应用于文件的筛选器。 如果指定文件筛选器,文件列表中将只显示符合筛选条件的文件。 有关如何使用文件筛选器的详细信息,请参阅 "备注" 部分。
pParentWnd
中指向文件对话框的父窗口或所有者窗口的指针。
dwSize
中结构的大小 OPENFILENAME 。 此值取决于操作系统版本。 MFC 使用此参数来确定要创建的适当类型的对话框。 默认大小为0,这意味着 MFC 代码将根据运行程序的操作系统版本确定要使用的正确对话框大小。
bVistaStyle
中 注意 此参数在 Visual Studio 2008 及更高版本中提供,并且仅当在 Windows Vista 或更高版本中运行时,才会使用新样式的对话框。
备注:
其中lpszFilt

本文介绍CFileDialog类在文件打开和另存为对话框中的应用,包括构造函数参数解析、文件过滤器设置及OFN标志位的使用。
最低0.47元/天 解锁文章
1538





