삽이 부서질 때까지 삽질
뭐... 이건 귀찮으니 전에 했던 예제로 바꿔보죠. [[MFC] 파일 저장 및 읽기(직렬화)] 기본 저장 방식은 파일인데 이걸 확장 메타파일 형식으로 바꾸려면 프로젝트 생성때 템플릿 속성에서 파일 형식에 emf로 주면 됩니다. 템플릿을 저장할 때 파일 형식을 emf 로 저장만 하면 끝난다.
간단하게 입력한 글자와 스타일 저장하는 예제를 만들볼게요. 뷰에서 도큐먼트 객체과 관리하기 때문에 [이름]DOC.h 에서 관리를 합니다.저는 FileIOTest로 지어서 FileIOTest.Doc.h 입니다. OnNewDocument 에서 변수를 초기화 하자[OnNewDocument 는 파일을 새로만들기 했을 경우 자동으로 호출하는 함수이다.] 클래스 뷰에서 CFileIOTestView 에 WM_CHAR 메세지를 추가한다. 입력한 글자를 도큐먼트 객체에 저장하기 위해서 GetDocument 함수를 이용해 도큐먼트 객체의 주소를 가져오고, SetModifiedFlag 함수로 데이터가 수정된걸 도큐먼트 객체에 알린다. 마지막에는 Invalidate 함수를 사용해 WM_PAINT 메세지를 발생시킨다. 준비가 ..
메뉴를 생성을 알아봤으니 이제 해당 명령어를 처리하는 것에 대해서 공부해볼게요. 기존 메뉴에 list 라는 최상위 메뉴를 추가한 뒤 아래는 폰트 1, 2, 3 을 추가하고 ID는 ID_LIST1 ,2, 3 을 할당했어요. 그리고 폰트에 색을 주는 간단한걸 구현할거라 CChildView.h 에 COLOREF 변수를 추가할게요. 그리고 생성자에서는 색을 초기화 합니다. 메뉴에 이벤트를 할당할건데 이건 클래스 뷰에서 CChildView 에 오른쪽 클릭을 한 뒤 속성을 들어갑니다.그리고 이벤트 창(번개모양)을 클릭하시면 추가된 ID를 볼 수 있습니다. 여기서 우리가 추가한 ID_LIST 1 ~ 3 을 +를 눌러 확장하시고 커멘드를 눌러 추가하기를 누르시면 자동으로 ChildView.cpp 에 명령 핸들러가 추가..