C++_打開文件對話框

1.CFileDialog類封裝了Windows經常使用的文件對話框函數

CFileDialog構造函數的定義形式爲:spa

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 : 指定默認的文件擴展名。code

第三個參數: lpszFileName : 指定默認的文件名 。blog

第四個參數: dwFlags : 指明一些特定風格。it

第五個參數: lpszFilter : 指明可供選擇的文件類型和相應的擴展名。class

第六個參數: pParentWnd : 爲父窗口指針。擴展

(1)選擇一個xls或者xlsx格式的文件,具體用法如例:file

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;
相關文章
相關標籤/搜索