mfc 选择文件(可多选)
CFileDialog dlg( TRUE, NULL, NULL, OFN_ALLOWMULTISELECT, NULL, NULL ); DWORD MAXFILE = 2562; //2562 is the max TCHAR* pc = new TCHAR[MAXFILE * (MAX_PATH + 1) + 1]; pc[0] = pc[1] = 0; dlg.m_ofn.nMaxFile = MAXFILE; dlg.m_ofn.lpstrFile = pc; int iReturn = dlg.DoModal(); if(iReturn == IDOK){ vFiles.clear(); int nCount = 0; POSITION pos = dlg.GetStartPosition(); while (pos != NULL){ CString szPathName = dlg.GetNextPathName(pos); wstring s = szPathName.GetString(); WCHAR *pExtension = PathFindExtension(s.c_str()); if (pExtension){ if (_wcsicmp(pExtension, L".bmp") == 0 || _wcsicmp(pExtension, L".jpg") == 0 || _wcsicmp(pExtension, L".png") == 0){ vFiles.push_back(s); nCount++; } } } } else if(iReturn == IDCANCEL){ } delete []pc;