예전에 자주 사용했었던 CFileDialog 클래스를 오랫만에 사용해보려고 하다보니깐, 기억이 안나더라.
그래서 이리 저리 찾아보다가 친절히 설명 해놓으신 블로거님의 블로깅 자료를 발견하고 공유하고자 살짝 가져왔다.
당연히 참조 경로는 하단부에 첨부했다.
****************** CFileDialog 정의
CFileDialog(BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWITEPROMPT, OPCTSTR lpszFilter = NULL, CWnd *pParentWnd = NULL)
bOpenFileDialog TRUE--> 열기 FALSE--> 다른 이름으로 저장
lpszDefExt 기본 확장자. 만약 cpp라고 적으면 파일명이 자동으로 test.cpp가 됨
lpszFileName 대화상자가 처음 출력되었을 때 "파일 이름" Edit 컨트롤에 출력될 파일명 지정
dwFlags 속성
- OFN_EXPLOPER 윈도우 탐색기 스타일로 출력
- OFN_ARROWMULTISELECT 파일을 한번에 여러개 선택 가능
- OFN_CREATEPROMPT 존재하지 않는 파일명을 입력했을 경우 새로 생성하겠냐는 메시지 박스 출력
- OFN_FILEMUSTEXIST 존재하지 않는 파일명을 입력할 수 없도록 함
- OFN_HIDEREADONLY 읽기 전용 파일은 출력하지 않음
- OFN_LONGNAMES 긴 파일 이름 포맷 지원
- OFN_OVERWRITEPROMPT 존재하는 파일명을 입력했을 경우 덮어쓰겠냐는 메시지 박스 출력
- OFN_PATHMUSTEXIST 이미 존재하는 디렉터리명만을 입력
lpszFilter 대화상자에 출력될 파일들을 확장자에 의해서 걸러지도록 하기 위한 필터 지정
pParentWnd 대화상자의 부모 윈도우 지정
****************** CFileDialog 클래스의 멤버 함수
CString GetPathName 선택된 파일의 절대 경로
CString GetFileName 선택된 파일의 이름과 확장자
CString GetFileExt 선택된 파일의 확장자
CString GetFileTitle 선택된 파일의 파일명
BOOL GetReadOnlyPref 읽기 전용 여부
POSITION GetStartPosition 다중 선택의 경우
CString GetNextPathName
******************CFileDialog 클래스의 인스턴스를 선언하고 DoModal 함수 호출
** 한개의 파일만 선택할 경우
char szFilter[] = "Image (*.BMP, *.GIF, *.JPG) | *.BMP;*.GIF;*.JPG | All Files(*.*)|*.*||";
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, szFilter);
if(IDOK == dlg.DoModal())
{
CString strPathName = dlg.GetPathName();
}
** 여러개의 파일을 복수 선택할 경우
char szFilter[] = "All Files(*.*) | *.* ||";
CFileDialog dlg(TRUE, NULL, NULL, OFN_ALLOWMULTISELECT, szFiilter);
if(IDOK == dlg.DoModal())
for(POSITION pos=dlg.GetStartPosition(); pos != NULL;)
m_ctrlListBox.AddString(dlg.GetNextPathName(pos));
참조 : http://egloos.zum.com/gomu0/v/2865574
2015/06/10 - [[ Topics ]/Visual Studio] - 파일 입출력에서 폴더창 열기
2014/05/01 - [[ Topics ]/Visual Studio] - CString 에서 경로, 파일명, 확장자를 구분하여 출력하는법
2015/06/10 - [[ Topics ]/Visual Studio] - Cstring 에서 char* 형으로 변환
2014/10/31 - [[ Topics ]/Visual Studio] - CString to int, int to CString 변환법
'[ Topics ] > Visual Studio' 카테고리의 다른 글
Visual studio 2015 설치 및 C++ 프로젝트 생성 (4) | 2016.10.24 |
---|---|
Cstring 에서 char* 형으로 변환 (0) | 2015.06.10 |
파일 입출력에서 폴더창 열기 (0) | 2015.06.10 |
MFC 다이얼로그 창 종료방법 (2) | 2015.06.10 |
MFC 다이얼로그 창 Enter, Esc키 종료 막기 (0) | 2015.06.10 |