반응형
void CKinect4WinDlg::OnBnClickedSetfolder() { ITEMIDLIST *pidlBrowse; WCHAR pszPathname[MAX_PATH]; BROWSEINFO BrInfo; BrInfo.hwndOwner = GetSafeHwnd(); BrInfo.pidlRoot = NULL; CString str = "c:\\depth"; LPCTSTR lpszDefaultFolder = str; memset(&BrInfo, 0, sizeof(BrInfo)); BrInfo.pszDisplayName = (LPSTR)pszPathname; BrInfo.lpszTitle = _T("Select directory"); BrInfo.ulFlags = BIF_RETURNONLYFSDIRS; //폴더만 선택 가능 BrInfo.ulFlags = BIF_BROWSEINCLUDEFILES; //디렉토리와 파일까지 선택가능 BrInfo.lParam = (LPARAM)lpszDefaultFolder; BrInfo.lpfn = BrowseCallback; pidlBrowse = ::SHBrowseForFolder(&BrInfo); if (pidlBrowse != NULL) { //Get Path SHGetPathFromIDList(pidlBrowse, (LPSTR)pszPathname); AfxMessageBox((LPCSTR)pszPathname); } } int CALLBACK BrowseCallback(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData) { CHAR lpszDir[255]; switch(uMsg) { case BFFM_INITIALIZED: SendMessage(hwnd, BFFM_SETSELECTION, TRUE, lpData); break; case BFFM_SELCHANGED: if(SHGetPathFromIDList((LPITEMIDLIST)lParam, lpszDir)) SendMessage(hwnd, BFFM_SETSTATUSTEXT,0, (LPARAM)lpszDir); break; } return 0; }
반응형
'Programming > MFC-C++' 카테고리의 다른 글
임베디드 최적화 관련 함수 (0) | 2013.01.28 |
---|---|
Google APIs - Key 발급 받는 방법 (0) | 2013.01.09 |
[GUI] Radio Button, Button 배경색 글자색 변경 (0) | 2013.01.02 |
Thread 관련 함수 및 API, 쓰레드 제어 (0) | 2012.12.30 |
[GUI] 유용한 Control 모음 - 사용자 컨트롤 (0) | 2012.12.26 |