Programming/C, C++, MFC
[Function][MFC] CFileDialog 를 이용하여 다중 파일 목록 작성
매직블럭
2014. 1. 23. 09:43
CFileDialog 를 이용하여 파일의 확장자를 제외한 파일명만 가져오는 방법.
다양한 방법으로 수정 가능.
- CString str = _T("All Files(*.*)|*.*|"); // 선택할 파일 종류
- CString File, filem, strre;
- CString strFileList;
- CFileDialog dlg(TRUE, NULL, NULL, OFN_ALLOWMULTISELECT, str, this);
- const int c_cMaxFiles = 20000 /*선택할 파일 숫자*/ ;// 메모리 부족현상으로 확장 안해주면 몇개 못씀
- const int c_cbBuffSize = (c_cMaxFiles * (MAX_PATH + 1)) + 1;
- dlg.GetOFN().lpstrFile = strFileList.GetBuffer(c_cbBuffSize);
- dlg.GetOFN().nMaxFile = c_cbBuffSize;
- if( dlg.DoModal() == IDOK)
- {
- for(POSITION pos=dlg.GetStartPosition(); pos != NULL;)
- {
- // 전체삭제는 ResetContent
- File = dlg.GetNextPathName(pos);
- filem = File.Right( File.GetLength()-File.ReverseFind( _T('\\') )-1 );
- // 경로를 제외한 파일명
- filem = filem.Left( filem.GetLength() - 4 );
- // 확장자 제거 ( ex - .jpg )
- m_ListBox.AddString( filem );
- }
- }
- m_nFileCnt = m_ListBox.GetCount();
- strre.Format( _T("%dea load"), m_nFileCnt );
- AfxMessageBox( strre );