다중 문서 인터페이스(MDI)
마이크로소프트 윈도우즈에서 문서를 처리하는 애플리케이션에 대한 명세(specification)다.
간담히 말하면, 윈도우즈가 단일 화면 내에서 여러 개의 애플리케이션 윈도우를 관리하듯이, MDI 애플리케이션은 단일 클라이언트 영역 내에서 여러 개의 문서 윈도우를 관리한다.
MID 구성 요소
메인 애플리케이션 윈도우의 구성요소
- 타이틀바, 메뉴, 크기 조정 테두리, 시스템 메뉴 아이콘, 최소/최대/종료 버튼
- 클라이언트 영역은 종종 '워크스페이스(workspace)'라 하며, 일반 윈도우즈 애플리케이션과는 달리 프로그램의 출력을 표시하는 데 직접 사용되지 않는다.
자식윈도우(혹은 문서 윈도우)의 구성요소
- 타이틀바, 크기 조정 테두리, 시스템 메뉴 아이콘, 최소/최대/종료 버튼, (때로는 스크롤 바)
- 어느 한 순간에 단 하나만 활성이 될 수 잇고, 일단 활성이 되면 다른 모든 문서 윈도우의 앞쪽에 나타난다.
언뜻 보기에 MDI는 윈도우즈 프로그래머에게 상당히 쉬운 작업처럼 보이지만, 현존하는 MDI 애플리케이션을 조금만 탐구해보면, 어려운 코드가 필요한 다소 복잡한 부본을 발견하게 될 것이다.
▶ MDI 문서 윈도우는 최소화 될 수 있다.
▶ MDI 문서 윈도우는 최대화 될 수 있다.
▶ 문서 윈도우를 닫는 시스템 키보드 가속기는 Ctrl키를 사용한다는 점을 제외하고는 메인 윈도우를 닫는 키보드 가속기와 동일하다.
▶ 일반적으로 커서 키를 이용하여 메뉴 항목 사이를 이동할 때는 시스템 메뉴에서 메뉴 바의 첫번째 항목으로 제어가 이동한다.
▶ 메뉴는 해당 문서 타입과 연관된 동작을 반영해야 한다.
▶ 최상위 메뉴 바에는 [창]이라는 항목이 있어야 한다.
일반적으로 창 메뉴에는 워크스페이스 내의 문서 윈도우를 배열하는 메뉴가 들어 있다.
MDI 지원
▷ 메인 애플리케이션 윈도우 = '프레임 윈도우(frame window)'라 한다.
▷ MDI 애플리케이션은 미리 정의된 윈도우 클래스인 MDICLIENT를 기반으로 '클라이언트 윈도우(client window)'를 생성
▷ 문서 윈도우 = "자식 윈도우"
▷ MDI 애플리케이션의 부모-자식 계층
댓글 없음:
댓글 쓰기