MFC에서 폴더 열기 대화 상자가 있습니까? 즉, 파일 이름을 선택하는 대신 폴더 이름을 선택합니다. 이상적으로는 Visual Studio에서 일반적인 프로젝트 대화 상자와 매우 흡사하게 보이는 "프로젝트 위치"(새 프로젝트를 만들 때)를 탐색 할 때이 방법을 사용하고 싶습니다. 그러나 전 존재하지 않는 경우 vertical tree 인터페이스 중 하나를 사용하여 수행 할 수 있습니다.MFC 폴더 열기 대화 상자
0
A
답변
4
이 코드는 열린 폴더 대화 상자를 표시합니다.이 대화 상자는 웹의 어딘가에서 가져 왔지만 실제로 모르겠습니다.
CString szSelectedFolder = _T("");
// This is the recommended way to select a directory
// in Win95 and NT4.
BROWSEINFO bi;
memset((LPVOID)&bi, 0, sizeof(bi));
TCHAR szDisplayName[_MAX_PATH];
szDisplayName[0] = '\0';
bi.hwndOwner = GetSafeHwnd();
bi.pidlRoot = NULL;
bi.pszDisplayName = szDisplayName;
bi.lpszTitle = _T("Select a folder");
bi.ulFlags = BIF_RETURNONLYFSDIRS;
// Set the callback function
bi.lpfn = BrowseCallbackProc;
LPITEMIDLIST pIIL = ::SHBrowseForFolder(&bi);
TCHAR szReturnedDir[_MAX_PATH];
BOOL bRet = ::SHGetPathFromIDList(pIIL, (TCHAR*)&szReturnedDir);
if (bRet)
{
if (szReturnedDir != _T(""))
{
szSelectedFolder = szReturnedDir;
}
LPMALLOC pMalloc;
HRESULT HR = SHGetMalloc(&pMalloc);
pMalloc->Free(pIIL);
pMalloc->Release();
}
하기이 콜백 함수를 구현해야합니다 :
TCHAR szInitialDir[_MAX_PATH];
// Set the initial path of the folder browser
int CALLBACK BrowseCallbackProc(HWND hWnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
// Look for BFFM_INITIALIZED
if (uMsg == BFFM_INITIALIZED)
{
SendMessage(hWnd, BFFM_SETSELECTION, TRUE, (LPARAM)szInitialDir);
}
return 0;
}
+0
대신의 memset 함수를, I BROWSEINFO를 선호합니다. bi = {0}; –
+0
그것은 내가 뭘했는지는 알 수 없지만, 내가 사용해야 할 것은 너무 많은 일을하지 않고 대안이 존재하는 것처럼 보이지 않는다. – Smashery
관련 문제
- 1. 열기 대화 상자 PHP로 열기
- 2. Jquery 대화 상자 - 추가 대화 상자 열기
- 3. 파일 열기 대화 상자
- 4. 파일 열기 대화 상자
- 5. Java에서 열기 대화 상자
- 6. 파일 열기/저장 대화 상자
- 7. 폴더 대화 상자 찾아보기
- 8. 대화 상자 컨트롤 비활성화 MFC
- 9. MFC 대화 상자 크기 질문
- 10. MFC 파일 저장 대화 상자
- 11. .NET 파일 열기 대화 상자
- 12. html 모달 대화 상자 열기
- 13. EditText로 TextView 열기 대화 상자
- 14. 파일 열기/저장 대화 상자
- 15. 화이트 - 파일 열기 대화 상자
- 16. Outlook 폴더 찾아보기 대화 상자?
- 17. ASP.Net의 폴더 브라우저 대화 상자
- 18. 고정 대화 상자 formborder 스타일로 파일 대화 상자 열기
- 19. MFC 대화 상자 단위에서 픽셀 단위로 변환
- 20. MFC 및 WPF 믹싱 : 모달 대화 상자
- 21. 애니메이션 그래픽 구현 대화 상자 기반 MFC
- 22. MFC : 표시하지 않고 모덜리스 대화 상자 만들기
- 23. MFC 응용 프로그램 및 비 MFC 모달 대화 상자
- 24. "폴더 옵션"대화 상자를 프로그래밍 방식으로 열기
- 25. Silverlight에서 폴더 열기 대화 상자가 열립니까?
- 26. MousePosition에서 JQuery Ui 대화 상자 열기
- 27. Jquery 대화 상자 열기 이벤트가 실행되지 않음
- 28. jQuery 대화 상자 같은 페이지에서 링크 열기
- 29. asp.net을 사용하는 이미지 브라우저 (열기 대화 상자)?
- 30. js/jq의 파일 열기 대화 상자
참조 : http://stackoverflow.com/questions/1304784/cfiledialog-browse-folders –