|
1.CFileDialog类封装了Windows常用的文件对话框
CFileDialog构造函数的定义形式为:
CFileDialog::CFileDialog(BOOL bOpenFileDialog,LPCTSTR lpszDefExt = NULL,LPCTSTR lpszFileName =NULL,DWORDdwFlags = OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,LPCTSTR lpszFilter = NULL,CWnd* pParentWnd = NULL);
第一个参数: bOpenFileDialog : TRUE则显示打开文件对话框,FALSE则显示保存文件对话框。
第二个参数: lpszDefExt : 指定默认的文件扩展名。
第三个参数: lpszFileName : 指定默认的文件名 。
第四个参数: dwFlags : 指明一些特定风格。
第五个参数: lpszFilter : 指明可供选择的文件类型和相应的扩展名。
第六个参数: pParentWnd : 为父窗口指针。
(1)选择一个xls或者xlsx格式的文件,具体用法如例:
CString strFileFilter(_T("XLS File(*.xls)|*.xls|XLSX File(*.xlsx)|*.xlsx||"));
CFileDialog fileOpen(TRUE, _T("*.xls;*.xlsx"), _T("数据表"), OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,strFileFilter , NULL);
fileOpen.m_ofn.lpstrTitle = _T("对话框标题");
if (IDOK != fileOpen.DoModal())
return;
fileOpen.GetPathName ();//选择的路径(E:\CAD选线成果样例1.dwg)
fileOpen.GetFileName();//文件名称(CAD选线成果样例1.dwg)
fileOpen.GetFileExt();//文件后缀(dwg)
(2)导出到文件夹内,也可以实现选择到文件夹层而不是文件层
CFileDialog saveFile = CFileDialog( FALSE,".xls","信息.xls",OFN_CREATEPROMPT|OFN_PATHMUSTEXIST,"Microsoft Excel(*.xls)");
if (IDOK==saveFile.DoModal())
{
CString sExcelFile = saveFile.GetPathName();
}
2.DoPromptFileName:MFC显示文件打开对话框获得文件名。
DoPromptFileName构造函数的定义形式为:
BOOL DoPromptFileName(CString& fileName, UINT nIDSTitle,DWORD lFlags, BOOL bOpenFileDialog, CDocTemplate* pTemplate);
第一个参数:fileName:选择的文件路径;第二个参数:nIDSTitle:第三个参数:lFlags:第四个参数:bOpenFileDialog:第五个参数:pTemplate
具体用法如例:
CString newName;
if (!DoPromptFileName(newName, AFX_IDS_OPENFILE, OFN_HIDEREADONLY | OFN_FILEMUSTEXIST, TRUE, NULL))
return; |
|