MFC——文件打开和保存对话框(CFileDialog)

最近要做一个文件打开和保存的对话框,现将相关的代码记录如下,用以备忘!
所用控件:
2个静态标签(Static Text):用以显示功能标签;
2个文本框(Edit):用以显示打开的文件路径全名要保存的文件路径全名,设置其Read Only属性为true将文本框设置为不可编辑;
2个按钮(Button):用以浏览文件;

[cpp] 
//打开文件  
void COpenSaveFileDialogDlg::OnBnClickedButtonOpen()  
{  
    BOOL isOpen = TRUE;     //是否打开(否则为保存)  
    CString defaultDir = L"E:\\FileTest";   //默认打开的文件路径  
    CString fileName = L"";         //默认打开的文件名  
    CString filter = L"文件 (*.doc; *.ppt; *.xls)|*.doc;*.ppt;*.xls||";   //文件过虑的类型  
    CFileDialog openFileDlg(isOpen, defaultDir, fileName, OFN_HIDEREADONLY|OFN_READONLY, filter, NULL);  
    openFileDlg.GetOFN().lpstrInitialDir = L"E:\\FileTest\\test.doc";  
    INT_PTR result = openFileDlg.DoModal();  
    CString filePath = defaultDir + "\\test.doc";  
    if(result == IDOK) {  
        filePath = openFileDlg.GetPathName();  
    }  
    CWnd::SetDlgItemTextW(IDC_EDIT_SRC, filePath);  
}  
  
//保存文件  
void COpenSaveFileDialogDlg::OnBnClickedButtonSave()  
{  
    BOOL isOpen = FALSE;        //是否打开(否则为保存)  
    CString defaultDir = L"E:\\FileTest";   //默认打开的文件路径  
    CString fileName = L"test.doc";         //默认打开的文件名  
    CString filter = L"文件 (*.doc; *.ppt; *.xls)|*.doc;*.ppt;*.xls||";   //文件过虑的类型  
    CFileDialog openFileDlg(isOpen, defaultDir, fileName, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, filter, NULL);  
    openFileDlg.GetOFN().lpstrInitialDir = L"E:\\FileTest\\test.doc";  
    INT_PTR result = openFileDlg.DoModal();  
    CString filePath = defaultDir + "\\" + fileName;  
    if(result == IDOK) {  
        filePath = openFileDlg.GetPathName();  
    }  
    CWnd::SetDlgItemTextW(IDC_EDIT_DEST, filePath);  
}  

posted @ 2017-09-22 14:33  东南坼  阅读(664)  评论(0编辑  收藏  举报