一:文件对话框
文件对话框分为打开文件对话框和保存文件对话框,都需要一个文件对话框的类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);
}
}
运行结果: