首先新建一个MFC应用程序,注意在向导中有一项“使用Unicode编码,选择不使用,这样就不会出现CString到std::string转换的问题,从工具栏中拖一个button放进对话框中,双击进入回调函数编辑界面,将下面代码加入回调函数TODO中,就可以实现打开对话框:
CFileDialog dlg(true,_T("*.bmp"),NULL,OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_HIDEREADONLY, _T("image files (*.bmp; *.jpg) |*.bmp; *.jpg | All Files (*.*) |*.*||"), NULL);
dlg.m_ofn.lpstrTitle=_T("打开图片");
if(dlg.DoModal()!=IDOK) return;
CString image=dlg.GetPathName();