- HOME
- Post in | c/c++/winapi
- Post at | 2012. 12. 17. 13:18 | by 밀크빵.
- View comment
[winapi] 파일 선택 다이얼로그 띄우기
- 함수 원형
BOOL fnBrowseFolder( HWND hWnd, const char *pTitle, char *pFolder, UINT nFlags )
{
LPMALLOC pMalloc;
LPITEMIDLIST pidl;
BROWSEINFO bi;
memset( &bi, 0, sizeof( BROWSEINFO ) );
bi.hwndOwner = hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = NULL;
bi.lpszTitle = (char *)pTitle;
bi.ulFlags = nFlags;
bi.lpfn = NULL;
bi.lParam = 0;
pidl = SHBrowseForFolder( &bi );
if( pidl == NULL )
return FALSE;
SHGetPathFromIDList( pidl, pFolder );
if( SHGetMalloc( &pMalloc ) != NOERROR )
return FALSE;
pMalloc->Free(pidl);
pMalloc->Release();
return TRUE;
}
- 사용 시
if( !fnBrowseFolder( hWnd, "디렉토리 또는 드라이브를 선택해주세요.",Path, BIF_RETURNONLYFSDIRS ) )
MessageBox(hWnd,"오류!",NULL,MB_OK);
Path에 선택한 파일 경로가 저장 된다.
'c/c++ > winapi' 카테고리의 다른 글
Win32 프로젝트를 빈프로젝트로 생성하여 DialogBox 띄우기 (0) | 2013.02.18 |
---|---|
활성화된 화면 캡쳐 ScreenCapture (0) | 2013.02.15 |
[winapi]OWNER DRAW로 여러 버튼 그려주기 (0) | 2012.12.13 |
HINSTANCE HWND 차이 (0) | 2012.11.26 |
메시지 박스 최상위로 뜨게 (0) | 2012.11.21 |