MFC 多选文件对话框

static    char   sz_filter[]   =    " JPG/BMP|*.jpg;*.bmp||  "
  CFileDialog   selectfile_dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|   OFN_ALLOWMULTISELECT,sz_filter,NULL); 
   char   bigBuff[ 2048]   =    "   ";     
  selectfile_dlg.m_ofn.lpstrFile   =   bigBuff; 
  selectfile_dlg.m_ofn.nMaxFile   =    sizeof(bigBuff); 
  selectfile_dlg.DoModal(); 
POSITION   pos   =   selectfile_dlg.GetStartPosition(); 
TCHAR   buf_share_filename[MAX_PATH]; 
GetShareFileName(buf_share_filename); 
DebugMsg(buf_share_filename); 
while(   pos   ) 

CString   one_filename=selectfile_dlg.GetNextPathName(   pos   ); 
... 

 

  #include    " cderr.h  "    // for   definition   of   FNERR_BUFFERTOOSMALL 

      CFileDialog       dlg(   TRUE,   NULL,   NULL,   OFN_ALLOWMULTISELECT,   NULL,   NULL   ); 
      DWORD   MAXFILE   =    2562;    // 2562   is   the   max 
      dlg.m_ofn.nMaxFile   =   MAXFILE; 
       char*   pc   =    new    char[MAXFILE]; 
      dlg.m_ofn.lpstrFile   =   pc; 
      dlg.m_ofn.lpstrFile[ 0]   =   NULL; 

       int   iReturn   =   dlg.DoModal(); 
       if(iReturn   ==     IDOK) 
      { 
             int   nCount   =    0
            POSITION   pos   =   dlg.GetStartPosition(); 
             while   (pos   !=   NULL) 
            { 
                  dlg.GetNextPathName(pos); 
                  nCount++; 
            } 
            CString   str; 
            str.Format(  " Successfully   opened   %d   files\n  ",   nCount); 
            AfxMessageBox(str); 
      } 
       else    if(iReturn   ==   IDCANCEL) 
            AfxMessageBox(  " Cancel  "); 

       if(CommDlgExtendedError()   ==   FNERR_BUFFERTOOSMALL) 
            AfxMessageBox(  " BUFFERTOOSMALL  "); 
      delete   []pc; 

 

你可能感兴趣的:(mfc)