vc之CFileDialog打開多個文件

1、打開一個xml文件

CFileDialog dlg(TRUE, _T("xml"), NULL, OFN_FILEMUSTEXIST, _T("xml file (*.xml)|*.xml||"), NULL);
 if (dlg.DoModal() == IDOK)
 {
  m_edtSrcFile.SetWindowText(dlg.GetPathName());
 }

2、打開多個xml文件

CFileDialog dlg(TRUE, _T("xml"), NULL, OFN_ALLOWMULTISELECT | OFN_FILEMUSTEXIST, _T("xml file (*.xml)|*.xml||"), NULL);
 DWORD MAXFILE = 500 * MAX_PATH;// 最多打開500個文件
 dlg.m_ofn.nMaxFile = MAXFILE;
 TCHAR *buf = new TCHAR[MAXFILE];
 memset(buf, 0, sizeof(TCHAR)* MAXFILE);
 dlg.m_ofn.lpstrFile = buf;

 int iReturn = dlg.DoModal();
 if (iReturn == IDCANCEL)
 {
  return;
 }

 CString filePath;
 POSITION pos = dlg.GetStartPosition();
 while (pos != NULL)
 {
  filePath += dlg.GetNextPathName(pos) + _T("\r\n");
 }
 
 m_edtSrcFile.SetWindowText(filePath);

 delete[] buf;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章