파일저장 경로 지정하는 다이어로그 띄우기 ♬ 프로그램 이야기

특정 디렉토리를 선택하여 그 경로를 얻어오고자 할때..
다음과 같이 폴더선택 대화상자를 띄우고 경로를 얻어오는 방법을 알아보자

//OnButton7()을 클릭하여 위의 대화상자를 띄워 경로얻기
void CDBToQuestionCardTestDlg::OnButton7()
{
LPITEMIDLIST      lpIList;
char                    tmp[128] = { 0, };
BROWSEINFO       lpBi;  
char                    szPath[_MAX_PATH] ={0,};
HWND                  hWnd  = AfxGetApp()->GetMainWnd()->m_hWnd;
CString                sText = _T("디렉토리를 선택해 주세요.");

lpBi.pszDisplayName = tmp;
lpBi.hwndOwner        = hWnd;
lpBi.pidlRoot              = NULL;    
lpBi.lpszTitle             = sText;
lpBi.ulFlags               = BIF_RETURNONLYFSDIRS |  0x40;
lpBi.lpfn                    = NULL;
lpBi.lParam               = 0;

lpIList = SHBrowseForFolder(&lpBi);
if (!lpIList)
return;

SHGetPathFromIDList(lpIList, szPath);
CString sPath;
sPath.Format("%s", szPath);
if (0 != strcmp(sPath.Right(1), "\"))
sPath.Format("%s\", szPath);

//sPath 에..원하는 경로가 들어있다.
}


트랙백

이 글과 관련된 글 쓰기 (트랙백 보내기)
TrackbackURL : http://ninvu.egloos.com/tb/2019217 [도움말]

덧글

  • 김아순 2009/08/09 21:03 # 삭제 답글

    늘 잘보고 있습니다.
    한가지 알고 싶은것이 있는데요.
    다이어로그기반으로한 프로그램에서 기본 다이어로그화면의 일부를 팝업화면이 아닌 서로 다른 화면으로
    번갈아가며 바꾸고 싶은데 가능한 것인지요.(MDI, SDI에서 화면을 지우고 그자리에 다른 화면을 넣을 수 있는
    프로그램기능과 동일한 기능을 다이어로그를 기반으로하는 프로그램에서 사용하려고 함).
덧글 입력 영역