MFC——文件打开和保存对话框(CFileDialog)
最近要做一個文件打開和保存的對話框,現將相關的代碼記錄如下,用以備忘!
所用控件:
2個靜態標簽(Static Text):用以顯示功能標簽;
2個文本框(Edit):用以顯示打開的文件路徑全名要保存的文件路徑全名,設置其Read Only屬性為true將文本框設置為不可編輯;
2個按鈕(Button):用以瀏覽文件;
打開文件對話框
CFileDialog打開的對話框
代碼如下:
//打開文件
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);
}
原文:https://blog.csdn.net/luoweifu/article/details/24672347?
?
總結
以上是生活随笔為你收集整理的MFC——文件打开和保存对话框(CFileDialog)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MFC+OPENCV+显示MAT类型图像
- 下一篇: OpenCV中的cv::String和C