参考:MFC打开文件对话框,选择多个文件
std::vector<std::string> &pathImage;
CFileDialog fpDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_ALLOWMULTISELECT,
L"(*.jpg;*.png;*.bmp;)|*.jpg;*.png;*.bmp;|All File(*.*)||", NULL); //
DWORD MAXFILE = 40000;//初始化空间大小,若超过初始化空间,程序fd.DoModal()会自己返回IDCANCEL值
fpDlg.m_ofn.nMaxFile = MAXFILE;
TCHAR * pc = new TCHAR[MAXFILE];//定义为T类型,可避免转换
USES_CONVERSION;
fpDlg.m_ofn.lpstrFile = pc;
fpDlg.m_ofn.lpstrFile[0] = NULL;//对文件选择对话框初始化
std::string strImgPath;
if(IDOK == fpDlg.DoModal())
{
POSITION pos = fpDlg.GetStartPosition();
while(pos)
{
CString imgPath = fpDlg.GetNextPathName(pos);
strImgPath =(CStringA)imgPath;
pathImage.push_back(strImgPath);
}
}
delete[] pc;
pc=NULL;