MFC中实现选择本地文件的弹框

MFC中实现选择本地文件的弹框

  • 首先我们要确定,我们要明确我们通过什么来触发,是点击button按钮,还是通过menu。本文是在menu上实现的。
  1. 首先新建一个menu,进入资源视图找到下图,点击进入设计界面
  2. 如下图中所圈出来的步骤新建几个menu。
  3. 选中其中的一个menu(本文选menu3),鼠标右击出现下拉框,选择添加事件处理程序,按图中一样选择一个要调用的Dlg,添加编辑。

  4. 添加代码
void CXlCANcontrolDlg::OnMenu3()
{
	// TODO: 在此添加命令处理程序代码
	CString filename;
	CString fileext;//文件扩展名
	CString filepathname;
	//选择文件
	CFileDialog fpdlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "(文件类型)(*.dat)|*.dat|(文件类型)(*.sth)|*.sth|所有文件(*.*)|*.*||", NULL);
	if (fpdlg.DoModal() == IDOK)
	{
		filename = fpdlg.GetFileName();
		fileext = fpdlg.GetFileExt();//文件扩展名
		filepathname = fpdlg.GetPathName();
		//UpdateData(FALSE);
	}
	//打开文件
	CFile fp;
	if (filepathname == _T(""))
	{
		//AfxMessageBox("请选择文件!");
		return;
	}
	if (!(fp.Open((LPCTSTR)filepathname, CFile::modeRead)))
	{
		AfxMessageBox("文件打开失败!");
		return;
	}
	//读取文件
	fp.SeekToEnd();
	unsigned long len = fp.GetLength();
	char* buff;
	buff = new char[len + 1];
	fp.SeekToBegin();
	if (fp.Read(buff, len) < 1)
	{
		fp.Close();
	}
	fp.Close();
}

  1. 运行你的程序,点击menu3,便会跳出弹框,如下所示:
发布了84 篇原创文章 · 获赞 63 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/wsq119/article/details/103047677