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라고 적으면 파일명이 자동으로 *.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 fileFilter[] = "Image (*.BMP, *.GIF, *.JPG) | *.BMP;*.GIF;*.JPG | All Files(*.*)|*.*||";
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, fileFilter);
if(IDOK == dlg.DoModal())
{
CString pathName = dlg.GetPathName();
}
# 여러개의 파일을 복수 선택할 경우
char fileFilter[] = "All Files(*.*) | *.* ||";
CFileDialog dlg(TRUE, NULL, NULL, OFN_ALLOWMULTISELECT, fileFiilter);
if(IDOK == dlg.DoModal())
for(POSITION pos=dlg.GetStartPosition(); pos != NULL;)
m_ListBox.AddString(dlg.GetNextPathName(pos));
'Windows > MFC' 카테고리의 다른 글
MFC SOCKET에서 IP주소 리턴하는 함수 (0) | 2015.01.23 |
---|---|
MFC 리치에디터2.0 컨트롤의 내용을 txt파일로 저장 (0) | 2015.01.23 |
MFC 리치에디터2.0 자동 스크롤 함수 (0) | 2015.01.23 |
MFC 리치에디터2.0 마지막 줄에 텍스트 추가하기 (0) | 2015.01.23 |
MFC 리치에디터2.0 다이얼로그에서 사용시 주의 할 것. (0) | 2015.01.23 |
댓글