< MDI (Multiple Document Interface ) >
SDI프로그램이 하나의 도큐먼트를 사용하는 반면 MDI 프로그램은 여러 개의 도큐먼트를 사용하여 작업한다. 즉, MDI 프로그램은 동일한 유형 또는 서로 다른 유형의 도큐먼트 객체를 여러 개 사용하여 작업할 수 있다.
MDI 프로그램에는 MDI 프레임 윈도우에 있는 MDI 클라이언트 영역과 MDI 차일드 윈도우에 있는 클라이언트 영역을 갖는다. SDI 의 경우 클라이언트 영역(뷰 영역)에 있는 도큐먼트 내용을 표시하지만, MDI 는 MDI 차일드 윈도우에 있는 클라이언트 영역에 도큐먼트 내용을 표시한다.
여기서 MDI 프레임 윈도우에 위치한 MDI 클라이언트 영역은 출력 대상이 아니라 각각의 MDI 차일드 윈도우를 관리한다. 그리고 모든 MDI 차일드 윈도우는 MDI 클라이언트 영역에 클립(clip)되기 때문에 클라이언트 영역을 벗어난 차일드 윈도우는 출력되지 않는다.
SDI 프로그램은 CFrameWnd에서 파생된 하나의 프레임 윈도우 클래스(CMainFrame)와 하나의 프레임 윈도우 객체를 갖는다. 반면 MDI 프로그램은 다음과 같이 두 개의 프레임 윈도우 클래스(CMainFrame, CChildFrame)와 여러 개의 프레임 윈도우 객체를 갖는다.
MDI 프레임 윈도우 MDI 차일드 윈도우
======================================================
기초 클래스 CMDIFrameWnd CMDIChildWnd
AppWizard에 CMainFrame CChildFrame
의해 생성된 클래스
객체 수 1개 차일드 윈도우당 1개
뷰 포함 여부 X O
'컴퓨터' 카테고리의 다른 글
< FTP (File Transfer Protocol) > (0) | 2008.12.03 |
---|---|
< 스레드(Thread) > (0) | 2008.12.03 |
< 펜(Pen) 오브젝트 > (0) | 2008.11.28 |
< 파일 탐색 관련 함수 > (0) | 2008.11.26 |
PIC에 대해서... (0) | 2008.10.28 |