본문 바로가기
Programing_Language/C++

[MFC] CFileDialog 클래스

by neohtux 2019. 4. 6.
728x90
1
2
3
4
5
6
7
8
9
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);
 

 

1. 매개 변수

 - bOpenFileDialog : TRUE(파일 열기 대화상자) , FALSE : 다른 이름으로 저장 대화상자.

 - lpszDefExt : 기본 파일 이름 확장명

 - lpszFileName : 파일 이름 상자에 표시 되는 초기 파일 이름. NULL인경우 파일 이름이 없음.

 - dwFlags : 플래그 옵션

    OFN_ALLOWMULTISELECT        한번에 여러개의 파일들을 선택 가능하게 함
        OFN_CREATEPROMPT              존재하지 않는 파일명을 입력했을 경우

                                                   새로 생성하겠는 대화상자 표시
        OFN_EXPLOPER                       열기나 저장하기를 윈도우 탐색기 스타일로 출력
        OFN_FILEMUSTEXIST               기존에 존재하는 파일 이름만 입력할 수 있도록 함
        OFN_HIDEREADONLY                읽기전용 파일은 출력하지 않음
        OFN_LONGNAMES                   긴 파일 이름을 사용할 수 있도록 함
        OFN_OVERWRITEPROMPT        저장할려고 하는 파일명이 존재할 경우 덮어쓰겠냐는

                                                  대화 상자 표시
        OFN_PATHMUSTEXIST             오직 유효한 경로나 파일명만을 입력

                                                  (아님 경고 메세지 출력)

(추가 정보 : https://docs.microsoft.com/ko-kr/windows/desktop/api/commdlg/ns-commdlg-tagofna)

 - lpszFilter : 파일 필터를 적용하요 필터 조건과 일치 하는 파일만 파일 목록에표시.

                 ( csv, xml, txt 등등) ex ("CSV FIiles(*.csv)|*.csv|")

 - pParentWnd : 파일 대화상자의 부모 또는 소유자 창에 대한 포인터

 - dwSize : 기본 값 0은 MFC 코드에서 대화상자 사이즈를 결정하는데 사용. OS버전마다 다름 

 - bVistaStyle : true : 윈도우 Vista 스타일 , 안씀 

 

 

 

2. 사용 예제 (csv 엑셀파일만 여러개 선택하여 불러오기)

 

1
CFileDialog FileDlg(TRUE, CA2W("*.csv"), NULL, OFN_FILEMUSTEXIST | OFN_ALLOWMULTISELECT, CA2W("CSV Files(*.csv)|*.csv|"), NULL);
 

 

3. 실행 화면

 

300x250

댓글