다음을 통해 공유


다중 문서 형식, 뷰 및 프레임 창

표준 관계 문서, 해당 뷰 및 프레임 창을 설명 문서/뷰 만들기.한 뷰와 문서당 하나의 프레임 창만 문서와 함께 단일 문서 종류 (가능한 경우 열려 있는 여러 문서 종류)에서는 대부분의 응용 프로그램을 지원합니다.하지만 일부 응용 프로그램은 이러한 기본값 중 하나를 변경 해야 합니다.

추가 정보

  • 다중 문서 형식

  • 여러 보기

  • 다중 프레임 창

  • 분할 창

다중 문서 형식

MFC 응용 프로그램 마법사는 단일 문서 클래스를 만듭니다.그러나 두 개 이상의 문서 유형을 지원 하는 경우도 있습니다.예를 들어, 응용 프로그램 문서를 워크시트와 차트를 해야 합니다.각 문서 형식은 고유한 문서 클래스로 하 고 아마도 자신의 뷰 클래스로 나타냅니다.사용자가 새 파일 명령을 선택 하는 경우 프레임 워크 지원 되는 문서 형식을 나열 하는 대화 상자가 표시 됩니다.그런 다음 사용자가 선택한 형식의 문서를 만듭니다.각 문서 형식은 고유한 문서 템플릿 개체에 의해 관리 됩니다.

추가 문서 클래스 만들기를 참조 하십시오. 클래스 추가.선택 CDocument 클래스 형식에서 파생 하 고 문서를 요청한 정보를 제공 합니다.그런 다음 새 클래스의 데이터를 구현 합니다.

프레임 워크에 대 한 추가 문서 클래스를 알 수 있게 하려면 두 번째 호출에서 추가 AddDocTemplate 응용 프로그램 클래스의 InitInstance 를 재정의 합니다.자세한 내용은 문서 템플릿이.

여러 보기

대부분의 문서는 하나의 뷰만 필요 하지만 단일 문서의 둘 이상의 뷰를 지원할 수 있습니다.여러 뷰를 구현 하기 위해 document 개체 뷰 목록을 유지, 추가 및 제거, 뷰 멤버 함수를 제공 및 제공은 UpdateAllViews 멤버 함수에는 여러 뷰를 알고 문서의 데이터가 변경 되는 경우가.

MFC 다중 뷰 같은 문서에 필요한 세 가지 일반적인 사용자 인터페이스를 지원 합니다.이러한 모델은 다음과 같습니다.

  • 각각 별도 MDI 문서 프레임 창에서 같은 클래스의 뷰 개체입니다.

    문서에서 두 번째 프레임 창 만들기를 지원 하 고 있습니다.두 번째 프레임에 동일한 문서의 뷰를 열고 다음 두 프레임을 사용 하 여 문서의 다른 부분을 동시에 볼 수 있는 새 창 명령을 선택할 수 있습니다.프레임 워크의 새 창 명령 창 메뉴 MDI 응용 프로그램에 대 한 초기 프레임 창과 문서에 첨부 된 뷰를 복제 하 여 지원.

  • 같은 문서 프레임 창에는 같은 클래스의 뷰 개체입니다.

    분할자 창은 단일 문서 창의 뷰 공간 여러 별도 문서 뷰로 분할합니다.프레임 워크 같은 뷰 클래스에서 여러 개의 뷰 개체를 만듭니다.자세한 내용은 분할자 창.

  • 단일 프레임 창에 다른 클래스의 뷰 개체입니다.

    변형 분할자 창에서이 모델에서 여러 보기 단일 프레임 창을 공유합니다.뷰는 다른 클래스에서 동일한 문서를 볼 수 있는 다른 방법을 제공 하는 각 보기 생성 됩니다.예를 들어, 다른 보기는 개요 모드로 표시 하는 동안 하나의 보기 워드 프로세서 문서 표준 모드로 표시할 수 있습니다.Splitter 컨트롤은 사용자가 뷰의 상대 크기를 조정할 수 있습니다.

다음 그림을 나누어 위에 제시 된 순서 대로 세 가지 사용자 인터페이스 모델 a, b 및 c를 표시 합니다.

여러 뷰 사용자 인터페이스

여러 뷰 사용자 인터페이스

새 창 명령을 구현 및 클래스를 제공 하 여 이러한 모델 프레임 워크를 제공 CSplitterWnd에서 설명한 것 처럼, 분할자 창.다음으로 시작 하 여 다른 모델을 구현할 수 있습니다.참조 뷰, 프레임 창과 분할자의 다른 구성을 보여 주는 샘플 프로그램에 대 한 MFC 샘플.

에 대 한 자세한 내용은 UpdateAllViews, 클래스를 참조 하십시오. CViewMFC 참조샘플을 낙서.

다중 프레임 창

새 창 명령 창 메뉴 MDI 응용 프로그램에 대 한 같은 문서에 두 번째 프레임 창을 만들 사용 하면 수 있습니다.첫 번째 모델은 그림에서에 대 한 자세한 내용은 참조 하십시오. 다중 뷰 사용자 인터페이스.

분할 창

분할자 창의 창, 또는 둘 이상의 스크롤 가능한 창으로 분할 될 수 있습니다.분할자 컨트롤 (또는 "나눔줄")에 스크롤 막대 옆에 있는 창 프레임 창의 상대 크기를 조정할 수가 있습니다.각 창은 같은 문서를 보기입니다."동적" 분할자 창에서는 뷰 같은 클래스의 그림 파트 b에 나와 있습니다 다중 뷰 사용자 인터페이스."정적" 분할자 창에서는 뷰 클래스가 다를 수 있습니다.분할자 창은 두 종류의 클래스에 의해 지원 됩니다 CSplitterWnd.

동적 분할자 창과 같은 클래스의 뷰 창을 여러 창으로 분할 한 다음 다른 틀을 문서의 다른 부분을 보려면 스크롤 할을 수 있습니다.사용자는 또한 추가 뷰를 제거할 수 있는 창을 나누기 수 있습니다.분할자 창을 추가 샘플을 낙서 예입니다.해당 항목은 동적 분할자 창을 만드는 방법을 설명 합니다.동적 분할자 창 그림 파트 b에 나와 다중 뷰 사용자 인터페이스.

여러 창으로 분할 창을 각각 용도가 다른 뷰와 다른 클래스의 정적 분할자 창은 시작 합니다.예를 들어, Visual C++ 비트맵 편집기에서 이미지 창 두 개의 창을 나란히 표시 합니다.왼쪽 창에는 비트맵이 비트맵 표시 됩니다.오른쪽 창에는 같은 비트맵의 확대 된 이미지가 표시 됩니다.창 "창의 상대 크기를 변경 하려면 사용자를 끌어 올 수 있는 분할 막대로"로 구분 됩니다.정적 분할 창 파트 그림 c에 나와 다중 뷰 사용자 인터페이스.

클래스에 대 한 자세한 내용은 참조 하십시오. CSplitterWnd 에 있는 MFC 참조MFC 샘플.

참고 항목

개념

문서/뷰 아키텍처