본문 바로가기

Application Dev./C++/MFC

Places Bar 만들기

파일 열기나, 저장시 사용하는 공통대화상자의 왼쪽의 <바탕화면, 내문서...>등이
등록된 메뉴를 Places Bar 라고 부릅니다.
이 바는 윈도우즈 2000부터 지원되는 기능입니다.
따라서 95, 98, ME, NT4.0까지는 지원되지 않죠.
그런데 CFileDialog는 모든 윈도우에서 공통으로 사용되는 클래스입니다.
즉 CFileDialog 클래스를 이용해서는 Place Bar 를 사용할 수 없습니다.
다음과 같이 직접 API를 호출해서 파일 다이얼로그를 띄우거나,

OPENFILENAME ofn;
memset(&ofn, 0, sizeof(ofn));
ofn.lStructSize = sizeof(ofn);
int nResult = ::GetOpenFileName(&ofn)
아니면 CFileDialog로부터 상속 받고 GetOpenFileName() 호출 부분을
적절히 오버라이딩 해주면 가능하리라 봅니다.