* 임무 *
MFC 어플리케이션에서 파일 열기 또는 저장을 하고 싶은데 파일을 선택하는 다이얼로그를 사용하고 싶다.
* 해결책 *
MFC가 제공하는 공용 다이얼로그 중 파일 다이얼로그를 사용해 본다.
CFileDialog를 사용하면 되며 메뉴 및 버튼 이벤트 핸들러에 다음과 같이 코드를 추가한다.
// 공용 대화상자
CFileDialog FileDlg(FALSE, "TXT","*.TXT", OFN_OVERWRITEPROMPT, "TXT 파일(*.TXT)|*.TXT|DAT 파일(*.DAT)|*.DAT"); // 선언
if (FileDlg.DoModal() == IDOK)
{
// 선택한 파일의 이름은 FileDlg.GetPathName(); 에서 알아낼 수 있다
CString Filename = FileDlg.GetFilePathName();
// 이제 알아낸 파일이름을 바탕으로 자신의 코드를 여기에 추가함.
}
* 파라메터 설명 *
다음은 MSDN에 설명된 CFileDialog의 설명이다.
explicit CFileDialog(
BOOL bOpenFileDialog, // 열기 모드일때는 TRUE, 저장하기 모드일때는 FALSE를 사용
LPCTSTR lpszDefExt = NULL, // 기본적으로 보여줄 파일 확장자.
LPCTSTR lpszFileName = NULL, // 기본적으로 보여줄 파일 이름
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
// 속성 플래그 같은 이름의 파일이 지워질 경우 경고 발동
LPCTSTR lpszFilter = NULL, // 필터, 여러개의 확장자 중 하나를 선택 할 수 있게 해준다.
CWnd* pParentWnd = NULL, // 부모 윈도우 포인터
DWORD dwSize = 0 // OPENFILENAME 구조체의 크기, 0으로 하면 윈도우가 자동으로 지정
);
이제부터 공용 파일다이얼로그를 간단하게 사용할 수 있다
'C & C++ > MFC 컨트롤' 카테고리의 다른 글
[Dialog] 모달리스 다이얼로그의 메모리 해제 (0) | 2011.01.26 |
---|---|
[Event] 여러개의 파일을 선택 (0) | 2011.01.12 |
[Radio] 라디오 버튼 그룹지정 (0) | 2011.01.12 |
[ToolBar] MFC 트루컬러 툴바 만들기 (0) | 2011.01.12 |
[Event] 오른쪽 마우스버튼으로 여는 컨텍스트 메뉴 (0) | 2011.01.12 |
댓글