// MFC中使用CFileDialog类实现打开或保存文件对话框
VOID MOpenFileDialog()
{
CFileDialog FDlg(TRUE, _T(".txt"), NULL, OFN_HIDEREADONLY, "文本文件(*.txt)|*.txt|所有文件(*.*) |*.*||");
if (FDlg.DoModal() == IDOK)
{
CString strFileName = FDlg.GetPathName();
}
}
// CFileDialog构造函数原型如下:
CFileDialog::CFileDialog(
BOOL bOpenFileDialog, //为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框
LPCTSTR lpszDefExt = NULL, //默认的文件扩展名
LPCTSTR lpszFileName = NULL, //默认的文件名
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, //设定风格样式
LPCTSTR lpszFilter = NULL, //列出可供选择的文件类型和相应的扩展名
CWnd* pParentWnd = NULL //父窗口句柄指针
);
/*
LPCTSTR lpszFilter 参数格式如:
"EXE Files (*.exe)|*.exe|DLL Files (*.dll)|*.dll|CPP Files (*.c;*.cpp)|*.c;*.cpp|All Files (*.*)|*.*||";
文件类型说明和扩展名间用 | 分隔,同种类型文件的扩展名间可以用英文分号“;” 分割,每种文件类型间用 | 分隔,末尾用 || 指明。
显示文件对话框可以使用DoModal(),可以使用下面的函数得到选择文件完整路径或文件名:
CString CFileDialog::GetPathName() 得到完整的文件名,包括目录名和扩展名如:D:\test.txt
CString CFileDialog::GetFileName() 得到完整的文件名,包括扩展名如:test.txt
*/