도큐먼트
: 문서 데이터에 접근하기 위한 인터페이스를 제공하고 저장, 읽어오기
저장 매체와 뷰 사이의 매개 역할을 하고 뷰는 도큐먼트의 정보 윈도우에 출력
CDocument 클래스
: 데이터를 관리하는 클래스 - (생성, 읽기, 저장)
- OnNewDocument() : 새로운 도큐먼트 만든다.
- Serialize() : 도큐먼트의 내용을 디스크로부터 읽어오고, 저장
- OnSaveDocument() : 파일에 데이터를 저장
- OnOpenDocument() : 파일로부터 데이터를 읽음
CArchive 클래스 : iostream 과 유사
- << , >> : 데이터를 읽고 쓰는 이진 삽입 및 추출 연산자 정의
- ReadObject(), WriteObject() → 읽고 쓰기 위한 멤버 함수
- IsStoring() 함수 → 저장중 : TRUE , 읽어오는 중 : FALSE
파일 입출력
- 데이터를 저장할 때
- OnSaveDocument() → CFile 로 열고 → CArchive 통로로 저장
- 데이터를 읽어 올 때
- OnOpenDocument() → CFile로 열고 → CArchive 통로로 읽기
- Serialize()
- 저장 및 읽어올 때, 최후에 데이터를 저장 및 읽어옴
템플릿 클래스
: 애플리케이션의 여러 자원들과 메인 프레임 클래스, view 클래스, Document 클래스 등을 하나의 묶음으로 가지는 클래스
SDI 템플릿
-
애플리케이션 클래스의 인스턴스 얻기
: CExSDIApp* pApp= (CExSDIApp *)AfxGetApp();
클래스의 포인터 변수 생성 → 형변환
-
메인 프레임 클래스의 인스턴스 얻기
: CMainFrame* pFrame= (CMainFrame *)AfxGetMainWnd();
-
뷰 클래스의 인스턴스 얻기
: CExSDIView* pView= (CExSDIView *)pFrame->GetActiveView();