在MFC中我们可以通过调用CFileDialog打开文件对话框去选择打开的文件,也可以通过打开对话框去获取保存文件的路径,这主要取决于CFileDialog构造函数中的第一个参数的取值:
// Constructors
explicit CFileDialog(BOOL bOpenFileDialog, // TRUE for FileOpen, FALSE for FileSaveAs
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的话则以打开文件的形式打开对话框,否则为FALSE的话则以保存文件的形式打开对话框,当为打开文件的形式时,都会在获取文件路径名的时候带上文件的后缀:
// 选择文件
LPCTSTR lpszFilter = L"XLS (*.xls)|*.xls|XLSX (*.xlsx)|*.xlsx||