CFileDialog类封装了Windows常用的文件对话框。常用的文件对话框提供了一种简单的与Windows标准相一致的文件打开和文件存盘对话框功能[1]。
一、简单使用示例:
1、参数指定构造文件打开对话框,其余默认参数
CFileDialog dlg(TRUE); // 构造文件打开对话框
dlg.m_ofn.lpstrTitle = _T("Open Image"); // 文件打开对话框标题
if(IDOK != dlg.DoModal()) // 判断是否成功选中文件
return;
CString path = dlg.GetPathName(); // 获取文件路径
2、指定构造文件打开对话框
CFileDialog dlg(TRUE, NULL, NULL,
OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST,
_T("image files(*.jpg)|*.jpg|Worksheet Files|*.xls|All Files(*.*)|*.*||"),
NULL); // 构造文件打开对话框
dlg.m_ofn.lpstrTitle = _T("Open Image"); // 文件打开对话框标题
if(IDOK != dlg.DoModal()) // 判断是否成功选中文件
return;
CString path = dlg.GetPathName(); // 获取文件路径
二、CFileDialog类构造函数原型为:
CFileDialog::CFileDialog(
BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL );
参数意义如下:
bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保存文件对话框;
lpszDefExt 指定默认的文件扩展名;
lpszFileName 指定默认的文件名;
dwFlags 指明一些特定风格;
lpszFilter 是最重要的一个参数,它指明可供选择的文件类型和相应的扩展名。
参数形式如:
“Chart Files(*.xlc)|*.xlc|Worksheet Files(*.xls)|*.xls|Data
Files(*.xlc;*.xls)|*.xlc;*.xls|All Files(*.*)|*.*||”
文件类型说明和扩展名间用|分隔,同种类型文件的扩展名间可以用;分隔,
每种文件类型间用|分隔,末尾用||指明;
pParentWnd 为父窗口指针。
[1]引自:百度百科CFileDialog词条。