본문 바로가기

프로그래밍/공부관련

CFileDialog를 사용하여 경로만 가져오는 방법


CFileDialog 자체에서 폴더명만 가져올 수 있는 방법은 없습니다.

 

다만 해당 Dialog를 OFN_EXPLORER 를 사용해서 Folder를 선택하는 File Dialog로 생성하게 되면

 

폴더를 선택할 수 있습니다.

 

하지만 이 예에서 파일의 경로를 읽어 와서 그 경로를 얻으려고 하는 것 같으니 이 같은 경우에는

 

다음과 같은 방법을 사용하면 됩니다.

 

 

       CString strPathName;

       CString strFileName;

 

        char szFilter[] = "*.*||";

        CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, szFilter);

        if ( IDOK == dlg.DoModal() )

        {

                    strPathName = dlg.GetPathName();

                    strFileName = dlg.GetFileName();

        }

       cout << strPathName << endl;

       cout << strFileName << endl;

 

       strPathName.TrimRight("\\" + strFileName);

       cout << strPathName << endl;

 

 

CString의 Trim 함수를 사용하면 쉽게 구현할 수 있죠.

========================



이렇게 쓰셔도 될거 같네요


 

CFileDialog 다이얼로그 명(TRUE,NULL,NULL,OFN_OVERWRITEPROMPT,"Excel Files (*.xls)|*.xls");
다이얼로그 명.m_ofn.lpstrInitialDir = "Open할 초기 폴더";

 

ex)

CFileDialog ReportDlg(TRUE,NULL,NULL,OFN_OVERWRITEPROMPT,"Text Files (*.txt)|*.txt");
ReportDlg.m_ofn.lpstrInitialDir = "c:\\abc";
네이버 지식인
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=71491996&qb=Q0ZpbGVEaWFsb2c=&enc=utf8&section=kin&rank=2&sort=0&spq=0&pid=fIARSv331xCssbjB6Fsssv--010671&sid=S6iUVJ6DqEsAAGajCU0

'프로그래밍 > 공부관련' 카테고리의 다른 글

GLUT_윈도우의 초기화와 생성  (0) 2010.04.21
오일러 각  (0) 2010.04.16
[D3D] CreateTexture  (0) 2010.03.22
[D3D] Texture Splatting 텍스쳐 스플래팅  (0) 2010.03.22
CString -> char *  (0) 2010.03.21