본문 바로가기
C & C++/MFC 컨트롤

[Dialog] 공용 대화상자 (Common Dialog) 사용법

by izen8 2011. 1. 12.
반응형

* 임무 *

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으로 하면 윈도우가 자동으로 지정
);

이제부터 공용 파일다이얼로그를 간단하게 사용할 수 있다

반응형

댓글