본문 바로가기

프로그래밍/VC/VC.NET/Cs

도큐먼트/뷰 구조(Document/View Architecture)

MFC에서의 도큐먼트/뷰구조.

도큐먼트는 APP에서 데이터,

뷰는 그 데이터를 처리해 나타나는 형태.

따라서 하나의 데이터로 여러가지의 표현이 가능해진다.


MFC에서는 원칙적으로 데이터와 뷰를 분리해서 사용하도록 하지만,

코딩을 하다보면, 이를 잘 지키지 않는다.

실제적으로 데이터 관리부분과 인터페이스가 비슷해서 분리하기가

까다롭기 때문이다.

그러나 나중을 위해서라도 꼭! 분리해서 코딩하는 습관을 기르도록.


도큐먼트와 뷰 상호간 작용함수들


CView 클래스

      - GetDocument : 도큐먼트 객체 포인터를 얻음.

      - OnDraw : 화면에 그림, 프린트


CDocument클래스

      - GetNextView : 뷰리스트에서 다음 뷰를 얻음

      - GetFirstView : 첫번쨰 뷰를 가져옴

      - UpdateAllviews : 관련 뷰의 클라이언트 영역을 다시 그림. 각 뷰의 OnUpdate()함수를 호출


CFrameWnd 클래스

      - GetActiveView : 사용중인 CView 객체포인터를 얻어옴.없으면 NULL리턴

      - GetActiveDocument : 사용중인 CDocument 객체포인터를 얻어옴.없으면 NULL리턴