一:文件對話框
文件對話框分爲打開文件對話框和保存文件對話框,都需要一個文件對話框的類CFileDialog,具體函數參看msdn;
二:實例:
1:創建一個基於對話框的MFC應用程序;
2:添加兩個EditBox和兩個button;修改ID爲IDC_EDIT_OPEN和IDC_EDIT_SAVE,button的ID爲IDC_BUTTON_OPEN和IDC_BUTTON_SAVE;;如下圖:
3:爲打開和保存兩個按鈕添加消息響應函數:
打開文件的操作:
void CFileOpenSaveDlg::OnBnClickedButtonOpen()
{
// TODO: 在此添加控件通知處理程序代碼
//設置過濾器,選擇需要讀入的文件類型;
TCHAR szFilter[]=_T("文本文件(*.txt)|*.txt|源文件(.cpp)|*.cpp|所有文件(*.*)|*.*||");
CFileDialog FileDlg(TRUE,_T("TXT"),NULL,0,szFilter,this);
CString strPathFile;
if(IDOK==FileDlg.DoModal())
{
strPathFile = FileDlg.GetPathName();
SetDlgItemText(IDC_EDIT_OPEN,strPathFile);
}
}
保存文件的操作:
void CFileOpenSaveDlg::OnBnClickedButtonSave()
{
// TODO: 在此添加控件通知處理程序代碼
//設置過濾器,選擇需要讀入的文件類型;
TCHAR szFilter[]=_T("文本文件(*.txt)|*.txt|源文件(.cpp)|*.cpp|所有文件(*.*)|*.*||");
CFileDialog FileDlg(FALSE,_T("TXT"),_T("my"),OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter,this);
CString strPathFile;
if(IDOK==FileDlg.DoModal())
{
strPathFile = FileDlg.GetPathName();
SetDlgItemText(IDC_EDIT_SAVE,strPathFile);
}
}
運行結果: