文件保存或打开对话框

2015/06/07 MFC学习

1.创建一个基于对话框的应用程序;

2.在主窗口添加一个一个按钮,并修改ID:

3.双击按钮,添加按钮事件:

保存代码:

void CSaveFileDlg::OnBnClickedButtonSavefile()
{
	// TODO: 在此添加控件通知处理程序代码
	//设置文件过滤类型
	CString filter = _T("图像 (*.bmp;*.tif;*.jpg)|*.bmp;*.tif;*.jpg|All Files (*.*)|*.*||");
	CFileDialog fdlg(false,NULL,NULL,OFN_HIDEREADONLY |OFN_OVERWRITEPROMPT,filter);//文件对话框
	fdlg.m_ofn.lpstrInitialDir = L"d:\\";//设置初始目录文件
	//弹出对话框,如果单击的是OK按钮
	if(fdlg.DoModal() == IDOK)
	{
		CString fileName = fdlg.GetPathName();//得到保存文件的路径
		//提示刚才保存文件的路径
		MessageBox(fileName);
	}

}

打开代码:

void COpenFileDlg::OnBnClickedButtonOpenfile()
{
	// TODO: 在此添加控件通知处理程序代码
	//设置文件类型过滤
	//CString  filter[] = _T{"image (*.bmp;*.tif;*.jpg)|*.bmp;*.tif;*.jpg|All Files (*.*)|*.*||"};
	CString  filter=_T("All files(*.*)|*.*|Text files(*.txt)|*.txt|word documents(*.doc)|*.doc||");
	//文件对话框
	
	//LPCTSTR lpb=(LPCTSTR)(LPTSTR)filter;//char转换为LPCTSTR
	CFileDialog fdlg(true,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,filter);
	fdlg.m_ofn.lpstrInitialDir = L"d:\\";//设置初始化文件目录
	//弹出对话框,如果单击的是OK按钮
	if(fdlg.DoModal() == IDOK)
	{
		CString filename = fdlg.GetPathName();//得到打开文件的文件名
		MessageBox(filename);
	}
}

程序运行结果:

Search

    Post Directory