[MFC] CBrowseFolderDialog, 폴더 다이얼로그 사용하기....

이전 포스팅을 보면 파일 다이얼로그에 대한 것이 있다.

이전 포스팅 바로가기

그런데 꼭 파일 하나만 열지 않는 상황이 올 수도 있다.. 바로.. 폴더를 여는 상

황이다..

예를들면 폴더 내에 있는 모든 파일을 읽어서 트리 컨트롤이나 콤보 박스, 리스

트 박스 등에 저장을 하려고 한다면 말이다..


위의 2 파일은 인터넷에 떠돌아 다니는 폴더 다이얼로그 클래스이다.

일단 사용법은 2 파일을 다운 받아서..

폴더에 추가를 한다.. 그리고 헤더파일을 포함시키고...

CBrowseFolderDialog dlg; //선언 
 
 if(dlg.DoModal() == IDOK){  
 
 }

이렇게 사용하면 된다.. FileDialog랑 크게 차이점이 없다...

하지만.. 이제 값은 얻었지만.. 그걸 사용하는 방법을 보자...

먼저 저 if 내부에서..

CString str ;
dlg.GetSelectStr(str) ;

이렇게 해서 현재 경로를 얻어온다..

SetCurrentDirectory(str) ;

그리고 현재 가리키고 있던 경로를 현재 선택된 경로로 바꾼다..

CFileFind ffind ; 
if(!ffind.FindFile()) 
{
   
}

그리고 FileFind 클래스를 선언하고 위와 같이 사용한다.

그 후에는.. 

int res = 1 ;

while(res)
{
   res = ffind.FindNextFile() ;
}

이렇게 while문을 돌면.. 파일을 하나씩 읽어 드려서 처리를 해주면된다...

단, 주의해야 할 것은 저렇게 find 해서 찾은 내용을 보면,  . 과  .. 이 포함되어

있다.

'.' , '..' << 이 2가지는 제거 하고, 원하는 처리를 하면 되겠다..

[MFC] CBrowseFolderDialog, 폴더 다이얼로그 사용하기....





Posted by 바람처럼..
|