액티브 문서 컨테이너
액티브 문서 컨테이너에서 바인더를 Microsoft Office 또는 Internet Explorer, 같은 다른 응용 프로그램 형식의 만든 각 문서 형식에 대해 여러 개의 응용 프로그램 프레임을 사용 하 여 강제로) (대신 단일 프레임 내에서 여러 문서를 작업할 수 있습니다.
MFC에서 액티브 문서 컨테이너에 대해 완벽 하 게 지원 제공은 COleDocObjectItem 클래스입니다.MFC 응용 프로그램 마법사를 사용 하 여 액티브 문서 컨테이너를 선택 하 여 만들 수 있는 액티브 문서 컨테이너 확인란의 복합 문서 지원 MFC 응용 프로그램 마법사의 페이지.자세한 내용은 액티브 문서 컨테이너 응용 프로그램을 만드는.
액티브 문서 컨테이너에 대 한 자세한 내용은 참조 하십시오.
컨테이너 요구 사항
문서 사이트 개체
뷰 사이트 개체
Frame 개체
컨테이너 요구 사항
액티브 문서 컨테이너에서 액티브 문서 지원을 의미 보다는 단순한 인터페이스 구현: 포함 된 개체의 인터페이스를 사용 하는 기술도 필요 합니다.동일한 컨테이너도 액티브 문서 자체에서 확장 인터페이스를 사용 하는 방법을 알고 있어야 하는 액티브 문서 확장에 적용 됩니다.
액티브 문서 컨테이너는 액티브 문서를 통합 해야 합니다.
개체 저장소를 통해 처리할 수 있는 IPersistStorage 인터페이스, 즉, 그 제공 해야는 IStorage 인스턴스를 현재 문서의 각.
"사이트" 객체 (문서 또는 포함에 하나씩) 비즈니스가 OLE 문서의 기본적인 포함 기능을 지 원하는 해당 구현 IOleClientSite 및 IAdviseSink.
포함 된 개체 또는 액티브 문서의 현재 위치에서 활성화를 지원 합니다.사이트 개체는 컨테이너 구현 해야 IOleInPlaceSite 컨테이너의 프레임 개체를 제공 하는 IOleInPlaceFrame.
구현 하 여 액티브 문서 확장 지원 IOleDocumentSite 컨테이너 문서에 이야기 하는 메커니즘을 제공 합니다.필요에 따라 컨테이너 현재 문서 인터페이스를 구현할 수 있습니다 IOleCommandTarget 및 IContinueCallback 을 인쇄 하거나 저장 하는 것과 같은 간단한 명령을 선택 합니다.
Frame 개체, 개체 보기 및 컨테이너 개체를 선택적으로 구현할 수 있습니다 IOleCommandTarget 에서 설명한 것 처럼 특정 명령의 디스패치를 지원 하기 위해 명령 대상.보기 및 컨테이너 개체를 구현할 수 있습니다 수도 IPrint 및 IContinueCallback에 설명 된 것 처럼 프로그래밍 방식으로 인쇄를 지원 하려면, 프로그래밍 방식으로 인쇄.
다음 그림 컨테이너 및 해당 구성 요소 (왼쪽)에 및 해당 액티브 문서 및 뷰 (오른쪽)에 간의 개념적 관계를 보여 줍니다.활성 문서 저장소 및 데이터를 관리 하 고 보기 표시 하거나 선택적으로 데이터를 인쇄 합니다.굵게 표시 인터페이스에 현재 문서의 참여에 필요한이 있습니다. 해당 굵게 및 기울임꼴을 선택 사항입니다.다른 모든 인터페이스 필요합니다.
하나의 뷰만 지 원하는 문서 보기와 문서 구성 요소 (즉, 해당 인터페이스)는 단일 구체 클래스에 구현할 수 있습니다.또한 한 번에 하나의 뷰만 지 원하는 컨테이너 사이트 문서 사이트와 뷰 사이트를 하나의 구체 사이트 클래스에 결합할 수 있습니다.그러나 컨테이너의 프레임 개체를 별도로 존재 해야 고 컨테이너의 문서 구성 요소 단순히 여기 아키텍처에 대 한 전체적인 그림을 제공 합니다 포함 됩니다. 액티브 문서 포함 아키텍처에는 적용 되지 않습니다.
문서 사이트 개체
액티브 문서 포함 아키텍처에서 문서 사이트 문서의 OLE 클라이언트 사이트 개체와 동일은 IOleDocument 인터페이스:
interface IOleDocumentSite : IUnknown
{
HRESULT ActivateMe(IOleDocumentView *pViewToActivate);
}
문서 사이트는 개념적으로 하나 이상의 "뷰 사이트" 개체에 대 한 컨테이너입니다.각 뷰 사이트 개체는 사이트에서 문서 관리 문서의 개별 뷰 개체와 연결 됩니다.컨테이너에만 문서 사이트 마다 하나의 뷰만 지 원하는 경우는 문서 사이트와 뷰 사이트를 하나의 구체 클래스로 구현할 수 있습니다.
뷰 사이트 개체
뷰 사이트 개체는 컨테이너 문서의 특정 보기에 대 한 표시 공간을 관리합니다.표준 지원 외에 IOleInPlaceSite 보기 사이트도 일반적으로 인터페이스를 구현 IContinueCallback 인쇄 컨트롤 프로그래밍에 대 한.(뷰 개체는 쿼리 참고 IContinueCallback 에서 실제로 구현할 수 있도록 모든 필요의 컨테이너 개체입니다.)
여러 뷰를 지 원하는 컨테이너 사이트 개체는 문서 사이트 내에서 여러 보기를 만들 수 있어야 합니다.이 각 보기 활성화 및 비활성화 별도 서비스를 통해 제공 제공 IOleInPlaceSite.
Frame 개체
컨테이너의 프레임 개체, 대부분의 경우 OLE 문서의 현재 위치에서 활성화에 사용 되는 동일한 프레임, 메뉴 및 도구 모음 협상을 처리 하는 것View 개체에 액세스할 수이 프레임 개체를 통해 IOleInPlaceSite::GetWindowContext, (창 레벨 도구 모음 협상 및 열거형에 포함 된 개체를 처리할 수 있는) 컨테이너 문서를 나타내는 컨테이너 개체에 대 한 액세스도 제공 합니다.
액티브 문서 컨테이너 프레임을 추가 하 여 추가할 수 있습니다 IOleCommandTarget.이렇게 하면 컨테이너 같은 명령을 보낼 수 있도록이 인터페이스를 동일한 방식으로 현재 문서 사용자 인터페이스에서 시작 명령을 수신할 수 있습니다 (같은 새 파일, 열기, 으로 저장, 인쇄; Edit Copy, 붙여넣기, 취소, 등) 액티브 문서를.자세한 내용은 명령 대상.