[MFC] 윈도우 프로그래밍 기초 - 파일 대화 상자(CFileDialog)
파일 대화 상자는 두 크게 두 가지 유형으로 볼 수 있습니다.
책들 여러 종류 찾아보니깐 초반부터 함수 원형 넣어놓고 해놨습니다.
초보자를 위해 설명을 드리자면, 결론은 같은 Dialog 창에서 단지 이름만 바껴있지 대화상자는 대화상자라는 것을 말하고 싶습니다.
이러한 개념을 바탕으로 파일 대화상자의 생성자를 살펴보겠습니다.
1. 너는 누구냐? CFlieDialog 생성자
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL,
DWORD dwSize = 0,
BOOL bVistaStyle = TRUE);
하나씩 살펴보면,
Parameter |
설명 |
BOOL bOpenFileDialog |
쉽게 말하면, TRUE = "열기 대화상자" FALSE = "저장 대화상자" |
LPCTSTR lpszDefExt |
기본으로 사용할 파일 확장자를 입력하기 위한 파라미터 |
LPCTSTR lpszFileName |
파일 대화상자가 나타날 때 초기화할 파일 이름을 입력하기 위한 파라미터 |
* Parameter : DWORD dwFlags
파일 대화상자의 여러 가지 옵션들을 설정하기 위한 Flags
Flags |
내용 |
OFN_ALLOWMULTISELECT |
한 번에 두 개 이상의 파일을 선택할 수 있도록 한다. |
OFN_CREATEPROMPT |
존재하지 않는 파일명을 입력했을 경우 사용자에게 파일 생성을 할 것인지 물어봄. |
OFN_FILEMUSTEXIST |
파일 대화상자의 크기 조절이 가능하도록 한다. |
OFN_FORCESHOWHIDDEN |
시스템 파일과 숨겨진 파일을 보여줌. |
OFN_NOCHANGEDIR |
현재 디렉토리를 변경할 수 없도록 한다. |
OFN_NOVALIDATE |
파일명으로 사용할 수 없는 특수 문자들을 검사하지 않도록 한다. |
OFN_OVERWRITEPROMPT |
저장하기 대화상자에서 선택한 파일이 이미 있을 경우 파일을 덮여쓸 것인지 물어본다. |
OFN_PATHMUSTEXIST |
존재하는 경로와 파일만 입력할 수 있도록 한다. 존재하지 않는 파일을 입력하면 경고창을 출력함. |
* Parameter : LPCTSTR lpszFilter
확장자 필터
예제
* Parameter: pWnd : pParentWnd
파일 대화상자의 부모 윈도우를 지정하기 위한 포인터.
* Parameter: dwSize
OPENFILENAME 구조체의 크기 지정
* Parameter: BOOL bVistaStyle
Vista이상의 대화상자로 출력함.
2. CFileDialog 맴버 함수
CFileDialog 클래스는 다양한 맴버 함수를 지원합니다.
프로그래머를 편안하게 해준다는 의미로 해석하시기 바랍니다.
혹시 오해하실 수 있는 데 전혀 외울 필요없습니다. 필요하면 보고 하셔도 됩니다.
함수 |
내용 |
GetFileExt |
선택된 파일의 확장자를 Return |
GetFileName |
선택된 파일의 파일 이름을 Return |
GetFileTitle |
선택된 파일의 타이틀을 Return |
GetFolderPath |
선택된 파일의 폴더 경로를 Return |
GetPathName |
선택된 파일의 전체 경로를 Return |
GetReadOnlyPref |
선택된 파일의 읽기전용 상태를 Return |
GetNextPathName |
다음 파일의 전체 경로를 Return |
다음 편에서 실습을 통해 파일 대화 상자를 사용하는 방법을 소개하겠습니다.
'소프트웨어(SW) > MS - C++ (GUI) MFC' 카테고리의 다른 글
[MFC] 윈도우 프로그래밍 기초 - 쉬어가는 코너 (읽는 방법의 여러 종류) (1) | 2015.03.27 |
---|---|
[MFC] 윈도우 프로그래밍 기초 - 파일 대화 상자 무작정 실습 (1) | 2015.03.27 |
[MFC] 윈도우 프로그래밍 기초 - 색상 대화상자 - 실습 2 (1) | 2015.03.24 |
[MFC] 윈도우 프로그래밍 기초 - 색상 대화상자 - 실습 1 (1) | 2015.03.24 |
[MFC] 윈도우 프로그래밍 기초 - 공통 대화 상자란? (1) | 2015.03.24 |