Programming
[mfc] 버튼클릭했을 때 폴더열기 이벤트
Lunik
2015. 9. 9. 19:55
반응형
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다. ITEMIDLIST *pidlBrowse; WCHAR pszPathname[MAX_PATH]; BROWSEINFO BrInfo; BrInfo.hwndOwner = GetSafeHwnd(); BrInfo.pidlRoot = NULL; memset(&BrInfo, 0x00, sizeof(BrInfo)); BrInfo.pszDisplayName = pszPathname; BrInfo.lpszTitle = _T("Select folder"); BrInfo.ulFlags = BIF_RETURNONLYFSDIRS; // 이벤트에 대한 사용자정의 함수 // BrInfo.lpfn = BrowseCallbackProc; // 사용자정의 함수에 넘겨질 인자로 사용자가 설정하고자 하는 경로를 설정한다. // 예를들어 초기폴더경로를 C드라이브로 설정하는 경우 CString strInitPath = _T("C:\\"); BrInfo.lParam = (LPARAM)strInitPath.GetBuffer(); pidlBrowse = ::SHBrowseForFolder(&BrInfo); if (pidlBrowse != NULL) { // 선택된 폴더 경로얻음 SHGetPathFromIDList(pidlBrowse, pszPathname); // 경로(pszPathname)를 이용하여 이후작업 추가 UpdateData(); m_edit_folder = pszPathname; UpdateData(FALSE); }