상세 컨텐츠

본문 제목

MFC - Dialog 파일을 읽거나 저장할때 파일창 띄우기

프로그래밍 관련/MFC

by AlrepondTech 2017. 10. 12. 17:16

본문

반응형
728x170

 

 

=================================

=================================

=================================

 

 

 

출처: http://wyseburn.tistory.com/entry/CFileDialog-%ED%8C%8C%EC%9D%BC%EC%9D%84-%EC%9D%BD%EA%B1%B0%EB%82%98-%EC%A0%80%EC%9E%A5%ED%95%A0%EB%95%8C-%ED%8C%8C%EC%9D%BC%EC%B0%BD-%EB%9D%84%EC%9A%B0%EA%B8%B0

 

파일에 변수의 내용을 직렬화 해서 저장,읽어들이는  예제

CFileDialog dlg(
  TRUE(읽기)/FALSE(저장),
  기본확장자,
  기본파일명,
  열기모드->MSDN 참고,
  파일창 아래쪽에 나오는 필터링
)



파일을 열어 변수에 읽어들일때 
 char szFilter[] = "PCMON (*.CFG) | All Files(*.*)|*.*||";
 CFileDialog dlg(TRUE, "cfg", "pcmon", OFN_HIDEREADONLY, szFilter);
 if(IDOK == dlg.DoModal())
 {
  CString strPathName = dlg.GetPathName();
  CFile fp;
  CFileException e;
  if(!fp.Open(strPathName, CFile::modeRead, &e)) {
   e.ReportError();
   return;
  }

 CString str;
 CArchive ar(&fp, CArchive::load);
 ar >> str;
}

파일을 선택해서 저장할때
char szFilter[] = "PCMON (*.CFG) | All Files(*.*)|*.*||";
 CFileDialog dlg(FALSE, "cfg", "pcmon", OFN_HIDEREADONLY, szFilter);
 if(IDOK == dlg.DoModal())
 {
  CString strPathName = dlg.GetPathName();

  CFile fp;
  CFileException e;
  if(!fp.Open(strPathName,CFile::modeWrite|CFile::modeCreate, &e)) {
   e.ReportError();
   return;
  }

  CString str = _T("문자열");
  CArchive ar(&fp, CArchive::store);
  ar << str;
 }



출처: http://wyseburn.tistory.com/entry/CFileDialog-파일을-읽거나-저장할때-파일창-띄우기 [메모장입니다.]

 

 

=================================

=================================

=================================

 

 

 

출처: http://itbrain.tistory.com/entry/CFileDialog-%ED%8C%8C%EC%9D%BC%EC%9D%84-%EC%9D%BD%EA%B1%B0%EB%82%98-%EC%A0%80%EC%9E%A5%ED%95%A0%EB%95%8C-%EC%B0%BD%EB%9D%84%EC%9A%B0%EA%B8%B0

 

 

 

파일에 변수의 내용을 직렬화 해서 저장,읽어들이는 예제

CFileDialog dlg(
TRUE(읽기)/FALSE(저장),
기본확장자,
기본파일명,
열기모드->MSDN 참고,
파일창 아래쪽에 나오는 필터링
)

 

 

 

반응형

 

728x90

 

 



파일을 열어 변수에 읽어들일때 
char szFilter[] = "PCMON (*.CFG) | All Files(*.*)|*.*||";
CFileDialog dlg(TRUE, "cfg", "pcmon", OFN_HIDEREADONLY, szFilter);
if(IDOK == dlg.DoModal())
{
CString strPathName = dlg.GetPathName();
CFile fp;
CFileException e;
if(!fp.Open(strPathName, CFile::modeRead, &e)) {
e.ReportError();
return;
}

CString str;
CArchive ar(&fp, CArchive::load);
ar >> str;
}

파일을 선택해서 저장할때
char szFilter[] = "PCMON (*.CFG) | All Files(*.*)|*.*||";
CFileDialog dlg(FALSE, "cfg", "pcmon", OFN_HIDEREADONLY, szFilter);
if(IDOK == dlg.DoModal())
{
CString strPathName = dlg.GetPathName();

CFile fp;
CFileException e;
if(!fp.Open(strPathName,CFile::modeWrite|CFile::modeCreate, &e)) {
e.ReportError();
return;
}

CString str = _T("문자열");
CArchive ar(&fp, CArchive::store);
ar << str;
}

 

 

 

레퍼런스 : http://six605.tistory.com/187

■ CFileDialog 파일 열기/저장 대화상자


 





※ 공통 대화상자 클래스 존재의 이유
- 자주 사용되는 대화상자 UI를 MFC 에서 제공


※ 공통 대화상자의 종류
- CFileDialog
- CFontDialog
- CColorDialog
- CPageSeupDialog
- CPrintDialog
- CFineReplaceDialog
- COleDialog



1. CFileDialog
- 파일 열기/저장 대화상자


2. 생성자 함수 원형

CFileDialog(BOOL bOpenFileDialog, 
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL );

bOpenFileDialog TRUE:열기, FALSE: 다른 이름으로저장
lpszDefExt 기본 확장자.
lpszFileName  대화상자가 처음 출력되었을 때 "파일 이름" Edit 컨트롤에 출력될 파일명 지정
dwFlags OFN_EXPLOPER  윈도우 탐색기 스타일로 출력
OFN_ARROWMULTISELECT 파일을 한번에 여러개 선택 가능
OFN_CREATEPROMPT 존재하지 않는 파일명을 입력했을 경우 새로 생성하겠냐는 메시지 박스 출력
OFN_FILEMUSTEXIST  존재하지 않는 파일명을 입력할 수 없도록 함
OFN_HIDEREADONLY 읽기전용 파일은 출력하지 않음
OFN_LONGNAMES 긴 파일 이름 포맷 지원
OFN_OVERWRITEPROMPT 존재하는 파일명을 입력했을 경우 덮어쓰겠냐는 메시지 박스 출력
OFN_PATHMUSTEXIST  이미 존재하는 디렉터리명만을 입력
lpszFilter 대화상자에 출력될 파일들을 확장자에 의해서 걸러지도록 하기 위한 필터 지정
pParentWnd 대화상자의 부모 윈도우 지정
※ OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST : 존재하지 않는 파일을 사용자가 직접 입력하였을때
대화상자가 종료 되지 않도록 함.
※ lpszFilter 예) "EXE Files(*.exe)|*.exe|ALL FIles(*.*)|*.*||"


3. 멤버 함수
- CString GetPathName() 선택된 파일의 절대 경로
- CString GetFileName() 선택된 파일의 이름과 확장자
- CString GetFileExt() 선택된 파일의 확장자
- CString GetFileTitle() 선택된 파일의 파일명
- BOOL GetReadOnlyPref() 읽기 전용 여부
- POSITION GetStartPosition() 다중 선택에서 사용
- CString GetNextPathName() 다중 선택에서 사용



4. 사용 예
- 한개의 파일 선택

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






출처 : http://hairchul.tistory.com/tag/%ED%8C%8C%EC%9D%BC%EC%9D%BD%EA%B8%B0



출처: http://itbrain.tistory.com/entry/CFileDialog-파일을-읽거나-저장할때-창띄우기 [itbrain]

 

 

=================================

=================================

=================================

 

 

반응형
그리드형


관련글 더보기

댓글 영역