MFC에서는 CFileDialog를 이용해 편리하게 파일을 저장하고 열 수 있다.
CFileDialog 생성하기
CFiledDialog의 생성자는 다음과 같다.
explicit CFileDialog(
BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL,
DWORD dwSize = 0,
BOOL bVistaStyle = TRUE)
- bOpenFileDialog : 파일열기 및 저장모드.
- FALSE = 저장모드
- TRUE = 열기모드
- lpszDefExt : 저장모드에서만 사용되며, lpszFilter의 필터값이 모든 파일(.)인 상태에서만 사용 가능.
- lpszFileName : 탐색기창이 떳을때, "파일 이름"란에 기본적으로 채워질 파일 이름.
- dwFlags : OPENFILENAME 구조체에 해당하는 플레그 값.
- lpszFilter : 확장자필터를 지정할 수 있다.
- pParentWnd : 부모 윈도우의 포인터. 부모창에서 탐색기 FileDialog를 띄워서 보여주기 때문에 지정해야한다.
- dwSize : OPENFILENAME 구조체의 크기를 이용하여 적절한 종류의 대화상자를 결정.
- bVistaStyle : 윈도우 비스타 스타일을 사용할지 말지.
- FALSE : 현재 사용자 윈도우 스타일
- TRUE : vista 스타일
확장자 필터 지정하기
확장자 필터는 크게 필터설명|필터확장자||
의 구조로 지정된다.
여러개의 필터를 사용하고 싶다면, 필터설명_1|필터확장자_1-1|필터설명_2|필터확장자_2-1;필터확장자_2-2|...|필터설명_N|필터확장자_N||
의 구조이다.
아래 예시를 참고
// 1. 모든 파일 필터
All Files|*.*||
// 2. 텍스트파일과 그림파일 필터
텍스트파일|*.txt;*.hwp|그림파일|*.jpg;*.png||
CFileDialog 생성하는 예시코드
CString str = _T("All Files|*.*||");
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, str, this);
dlg.DoModal();
728x90
'Language > MFC' 카테고리의 다른 글
[MFC] 콘솔창 띄우기 (2) | 2023.04.13 |
---|---|
[MFC] Visual c++ DLL 정리 (0) | 2022.07.06 |
댓글