1. CFileDialog 사용 방법 |
CFileDialog( BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL );
bOpenFileDialog TRUE면 Open dialog, FALSE면 Save as dialog
lpszDefExt 기본파일확장자로 선언이 되면 해당하는 확장자를 가진 파일만 나온다.
lpszFileName 파일명 에디트 박스에 초기화될 파일명
dwFlags dialog box 기본 FLAG, m_ofn.Flags에 등록된다
OFN_NOCHANGEDIR 디렉토리변경불가
OFN_HIDEREADONLY 읽기전용파일은 숨김
OFN_OVERWRITEPROMPT 존재하는 파일 덮어쓰기전에 확인하기
OFN_FILEMUSTEXIST 반드시 존재하는 파일명만 입력받음
OFN_ALLOWMULTISELECT 다중선택가능
OFN_ENABLESIZING 파일열기 대화상자의 크기 조절가능
dwFlags(*1)
lpszFilter 연속된 문자열쌍으로 파일 확장자를 원하는 타입으로 나오게 할수 있다
pParentWnd 다이얼로그 소유 윈도우 포인터
2. CFileDialog 사용예 |
char *szFilter = "비트맵(*.bmp)|*.bmp|JPEG(*.jpg)|*.jpg||";
CFileDialog imageSave( FALSE, NULL, m_SaveTab.GetFileName(), OFN_FILEMUSTEXIST, szFilter, NULL );
// 확장자 BMP = 0, JPG = 1
int nSelected = 1;
TCHAR* szExtension[2] = { ".bmp", ".jpg" };
imageSave.m_ofn.nFilterIndex = (DWORD)nSelected;
if( imageSave.DoModal() == IDOK ) {
CString strFileName = imageSave.GetFileName();
CString strFileExt = imageSave.GetFileExt();
// 콤보상자에서 확장자를 선택했을 시
if( strFileExt == "" ) {
// 선택된 파일 확장자의 인덱스를 가져온다.
nSelected = (int)imageSave.m_ofn.nFilterIndex;
// 인덱스에 맞는 확장자를 FileName에 붙인다.
strFileName += szExtension[nSelected-1];
}
야이노마
» Contact Me: yainoma00@gmail.com