[MFC] 선택한 폴더 경로(Directory) 가져오기 예제
[MFC] 선택한 폴더 경로(Directory) 가져오기 예제
1. 구현.
CString strSelectedFolder;
ITEMIDLIST *pidlBrowse;
TCHAR pszPathname[MAX_PATH];
BROWSEINFO BrInfo;
BrInfo.hwndOwner = GetSafeHwnd();
BrInfo.pidlRoot = NULL;
memset( &BrInfo, 0, sizeof(BrInfo) );
BrInfo.pszDisplayName = (LPWSTR)pszPathname;
BrInfo.lpszTitle = L"폴더를 선택해 주십시오.";
BrInfo.ulFlags = BIF_RETURNONLYFSDIRS;
// 다이얼로그 띄우기
pidlBrowse = SHBrowseForFolder(&BrInfo);
if( pidlBrowse != NULL)
{
// 선택한 폴더경로를 얻어옴
BOOL bSuccess = ::SHGetPathFromIDListW(pidlBrowse, pszPathname);
if ( bSuccess )
{
strSelectedFolder = pszPathname; //<-- 여기서 값을 입력
}
else
{
MessageBox(L"잘못된 폴더명입니다.", L"", MB_OKCANCEL|MB_ICONASTERISK );
}
}
2. 실행 화면
3. 폴더 경로 확인
실행 화면 에서 선택 하면
폴더 경로가 들어 온 걸 확인 할 수 있다.
댓글
댓글 쓰기