직장인 조모씨 2021. 4. 16. 01:02
728x90
반응형

파일 열기 다이얼로그를 테스트 해보았다. (mfc)

관련 자료는 인터넷 참고를 해보았다.

 

1.다이얼로그 구성 (Button1 클릭 파일열기 다이얼로그 나오게)

 

 

2.소스 수정

 

TCHAR szFilters[] = _T(" 1. JPG|*.jpg| 2. PNG|*.png| 3. All Files|*.*|");        

CFileDialog dlg(TRUE, NULL,NULL,OFN_EXPLORER, szFilters);

 

if (IDOK == dlg.DoModal()) {

 

CString strPathName = dlg.GetPathName();

m_ctrl_Edit1.SetWindowTextW(strPathName);

}

 

 

  • CFileDialog 클래스 변수의 인자로 전달되는 항목들에 대한 설명들은 아래에 정리되어있음.

 

CFileDialog::CFileDialog

 

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 );

BOOL bOpenFileDialog

생성하는 다이얼로그 박스 타입을 지정해 주는 매개변수

TRUE => 파일열기 다이얼로그 박스 

FALSE => 파일 저장 다이얼로그 박스

 

LPCTSTR lpszDefExt

기본 파일 확장자명(저장할 경우 사용)

만약 유저가 파일이름 상자 안에 확장자를 포함하지 않는 경우

lpszDefExt의 파일 확장자명을 자동으로 지정 함

NULL => 확장자명을 추가하지 않음

 

lpszFileName

시작할 때 파일이름 상자에 나타낼 이름 지정

NULL => 시작할 때 파일이름을 나타내지 않음

 

dwFlags

하나이상의 플래그를 사용하여 사용자가 원하는 다이얼로그 박스로 조합

 

많이 사용되는 플래그 

OFN_ALLOWMULTISELECT 한번에 여러개의 파일들을 선택 가능하게 함

OFN_CREATEPROMPT 존재하지 않는 파일명을 입력했을 경우 새로 생성하겠냐는 대화상자 표시

OFN_EXPLOPER 열기나 저장하기를 윈도우 탐색기 스타일로 출력

OFN_FILEMUSTEXIST 기존에 존재하는 파일 이름만 입력할 수 있도록 함

OFN_HIDEREADONLY 읽기전용 파일은 출력하지 않음

OFN_LONGNAMES 긴 파일 이름을 사용할 수 있도록 함

OFN_OVERWRITEPROMPT 저장할려고 하는 파일명이 존재할 경우 덮어쓰겠냐는 대화 상자 표시

OFN_PATHMUSTEXIST 오직 유효한 경로나 파일명만을 입력(아님 경고 메세지 출력)

 

추가 플래그 참조http://msdn.microsoft.com/ko-kr/library/ms646839(en-us,VS.85).aspx

 

 

lpszFilter

사용할 파일들이 걸러지도록 파일명들을 연속으로 나열 함

 

pParentWnd

부모나 소유자 윈도우의 파일 다이얼로그 박스의 포인터

 

dwSize

OPENFILENAME 구조체의 크기

 

출처http://pkss.tistory.com/entry/MFC-CFileDialog-파일선택-다이얼로그 [pkss]

 

출처: <http://pkss.tistory.com/entry/MFC-CFileDialog-%ED%8C%8C%EC%9D%BC%EC%84%A0%ED%83%9D-%EB%8B%A4%EC%9D%B4%EC%96%BC%EB%A1%9C%EA%B7%B8>

728x90
반응형