天天看點

vc++ 建立浏覽檔案視窗

#include "stdio.h"

#include <Afxdlgs.h>

#include "math.h"

#include <stdlib.h>

#include "time.h" 

#include "cderr.h" 

int main( int argc, char** argv ){

           //for   definition   of   FNERR_BUFFERTOOSMALL 

         AFX_MANAGE_STATE(AfxGetStaticModuleState());

            CFileDialog  dlg(TRUE,NULL,NULL,OFN_ALLOWMULTISELECT,"視訊檔案(*.avi;*.mov)|*.avi;*.mov||",NULL);  

               dlg.m_ofn.lpstrInitialDir = "d:\\";//設定初始檔案目錄

         //    CFileDialog  dlg(TRUE,NULL,NULL,OFN_ALLOWMULTISELECT,NULL,NULL);     

             DWORD MAXFILE  = 4000 ;

              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();  

                    CString FileName;

                    while   (pos!= NULL)  

                    {  

                          FileName = dlg.GetNextPathName(pos);  

                          AfxMessageBox(FileName); //顯示所選的多個檔案的路徑

                          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;

 return 0;

}

繼續閱讀