아시는 분들은 아시겠지만
모르시는 분들은 모르시는!
FileOpen할 때 폴더를 고르고싶다면 사용하는 함수입니다.
그 동안은 항상 파일만 필요했기에 CFileDialog만 사용했는데, 오늘은 하위폴더 탐색때문에 하위폴더가 있는 상위폴더 선택이 필요했습니다.
그래서 CFileDialog을 가지고 폴더를 선택하는 방법을 구글링하기 시작했는데...
아...모르겠다!
제가 못 찾은게 99%일거 같지만 일단 눈에 안 띄는게...(저에겐 1~2시간이 주어졌어요...그마저도 최종적으론 도합 3시간 걸렸지만...ㅜㅜ)
아무튼 여러분은 이런고생을 들하고 시간을 아끼시길 바랍니다...
간단한 사용예 볼게요
BROWSEINFO bi;
LPITEMIDLIST idl;
TCHAR szPathname[MAX_PATH] = {0, };
ZeroMemory(&bi,sizeof(BROWSEINFO));
bi.hwndOwner = this->m_hWnd;
bi.pszDisplayName = szPathname; // 선택된 디렉토리명 저장
bi.lpszTitle = _T("폴더를 선택해 주세요");
bi.ulFlags = BIF_EDITBOX // 선택된 디렉토리명을 표시하고 편집할 수 있는 창
| 0x0040; // 새로운 디렉토리를 만들수 있는 버튼 추가
idl = SHBrowseForFolder(&bi);
if ( idl )
{
SHGetPathFromIDList(idl, szPathname);
m_strDirPath.Format(_T("%s"), szPathname);
}
네 이렇게 쓰시면 됩니다.
그러면 다이얼로그가 퐉 떠요 이렇게요
즐거운 코딩하세요
MSDN링크 : https://msdn.microsoft.com/ko-kr/library/windows/desktop/bb762115(v=vs.85).aspx
'코드^학습 > 메모한 지식' 카테고리의 다른 글
[C++] DDE를 통해 Firefox 브라우저의 현재 URL 얻어오기 (4) | 2016.07.08 |
---|---|
[C++] InternetReadFile API로 파일 다운로드 (2) | 2016.07.05 |
[MFC] File Drag & Drop과 UAC (0) | 2016.06.20 |
[MFC] GetPrivateProfileString 함수 사용 (0) | 2016.05.10 |
[MFC] MDI의 구조 (4) | 2016.05.02 |