목록mdi (3)
삽이 부서질 때까지 삽질
전 글에서 언급했던 두 개의 도큐먼트 타입을 지원하는걸 만들어볼게요.맛보기 1 글에서 사용했던 프로젝트를 사용하니 없으시면 그 글을 보시고 만드시면 되겠습니다.[MDI 맛보기 1 글 보러가기] 먼저 글자 이외에 클릭하면 원을 찍는 새로운 도큐먼트를 만들어볼게요.MFC 클래스를 추가해주세요. 새로운 도큐먼트니 CDocument와 View가 필요하겠죠. 원을 저장하는 CircleDoc.h에서 CArray 를 만들어주고 CircleDoc.cpp 에서 초기화를 해줍니다. CircleView.cpp 에 왼쪽 클릭하면 발생하는 메세지 핸들러를 추가하고 좌표를 저장하는 코드를 작성합니다.그리고 OnDraw에 원을 출력하는 코드를 작성합니다. 리소스 뷰 전환 후 String에 IDR_Circle_Type 를 추가합니다..
MDI 에 대해서 찾아보면 복잡해서 잘 사용을 안한다고 하네요... ㅋㅋㅋ심지어 MSDN 에 보면... 이런 글이... MDI가 두개의 도큐먼트 템플릿을 가질 때 이렇게 된다고 하네요. 저 구성도를 MDITest 창으로 보면 이렇게 되겠네요.[MFC MDI 맛보기 1 글 보러가기] 템플릿 1:1에서 쓴글이 템플릿 1:2 에서도 똑같이 써지는걸 알 수 있죠.첫번째 그림 오른쪽 도큐먼트 템플릿처럼 되어 있는 경우 같네요.[틀리면 지적해주세요!! 혼자 독학하다보니...] 다음에는 두개의 도큐먼트 타입을 생성해볼게요.
지금까진 Single Document Interface 를 사용했다면 지금은 Multiple Document Interface 를 사용해볼게요.가장 간단히 할 수 있는 뷰에 글자를 써보죠!! 다중 문서로 작업하기 위해서 설정이 약간 바뀌었다. 응용 프로그램 종류 다중 문서 중 탭 문서해제 문서 템플릿 속성 파일 확장명 mdi 사용자 인터페이스 기능 클래식 메뉴 사용도킹 가능한 클래식 도구 모음 고급 기능 인쇄 및 인쇄 미리 보기를 제외하고 해제 다중 창에서 입력하기 위해서 MDITestDoc.h 에 CArray를 추가하고 MDITestDoc.cpp 에 OnNewDocument에서 초기화를 하자.[프로젝트 이름이 MDITest 입니다. 여기는 사용자 프로젝트 이름에 따라 변할 수 있습니다.] 그리고 글자를..