서버: 서버 항목

사용자 개체나 연결 된 OLE 항목을 편집할 수 있도록 서버 컨테이너를 시작 하면 "서버 항목" 서버 응용 프로그램을 만듭니다. 파생 클래스의 개체는 서버 항목을 COleServerItem, 서버 문서의 컨테이너 응용 프로그램 사이의 인터페이스를 제공 합니다.

COleServerItem 클래스는 OLE에 의해 일반적으로 요청에 응답 하는 컨테이너 라고 하는 여러 재정의 가능한 멤버 함수를 정의 합니다.서버 항목은 서버 문서의 일부나 전체 문서 부분을 나타낼 수 있습니다.OLE 항목이 컨테이너 문서의 포함 되 면 서버 항목은 전체 서버 문서를 나타냅니다.OLE 항목이 연결 되어 있는 경우 서버 항목 일부가 서버 문서 또는 링크의 전체 또는 일부 인지 여부에 따라 전체 문서를 나타낼 수 있습니다.

HIERSVR 예를 들어 서버 항목 클래스 샘플 CServerItem, 클래스의 개체에 대 한 포인터는 멤버가 CServerNode.CServerNode 개체는 트리 HIERSVR 응용 프로그램 문서의 노드.경우는 CServerNode 개체인 루트 노드를는 CServerItem 개체는 문서 전체를 나타냅니다.경우는 CServerNode 개체는 자식 노드를의 CServerItem 개체는 문서의 일부분을 나타냅니다.MFC OLE 샘플을 참조 하십시오. HIERSVR 이 상호 작용의 예입니다.

서버 항목 구현

응용 프로그램 마법사를 사용 하 여 응용 프로그램에 대 한 "시작" 코드를 생성 하는 경우, 서버 항목 시작 코드에 포함할 필요가 OLE 옵션 페이지에서 서버 옵션 중 하나를 선택 하면 됩니다.기존 응용 프로그램에 서버 항목을 추가 하는 경우 다음 단계를 수행 하십시오.

서버 항목을 구현.

  1. COleServerItem에서 클래스를 파생시킵니다.

  2. 파생된 클래스에서 재정의 하는 OnDraw 멤버 함수입니다.

    프레임 워크 호출 OnDraw OLE 항목을 메타 파일로 렌더링 합니다.컨테이너 응용 프로그램이 메타이 파일을 사용 하 여 항목을 렌더링 합니다.응용 프로그램의 뷰 클래스도는 OnDraw 서버 응용 프로그램이 활성화 되어 있을 때 항목을 렌더링 하는 데 사용 하는 멤버 함수입니다.

  3. 재정의 구현 OnGetEmbeddedItem 서버 문서 클래스입니다.자세한 내용은 문서를 참조 하십시오. 서버: 서버 문서 구현 및 MFC OLE 샘플 HIERSVR.

  4. 서버 항목 클래스의 구현 OnGetExtent 멤버 함수입니다.프레임 워크는 항목의 크기를 검색 하려면이 함수를 호출 합니다.기본적으로 구현해도 수행되는 작업은 없습니다.

서버 항목 아키텍처에 대 한 팁

설명한 것 처럼 서버 항목 구현, 서버 응용 프로그램 서버의 보기 및 컨테이너 응용 프로그램에서 사용 하는 메타 파일에 항목을 렌더링할 수 있어야 합니다.Mfc 라이브러리의 응용 프로그램 아키텍처를 뷰 클래스의 OnDraw 멤버 함수 렌더링 항목 편집 될 때 (표시 CView::OnDraw클래스 라이브러리 참조).서버 항목의 OnDraw 항목에 다른 모든 경우에 메타 파일 렌더링 (볼 COleServerItem::OnDraw).

서버 문서 클래스의 도우미 함수를 작성 하 고에서 호출 코드의 중복을 방지할 수 있습니다는 OnDraw 보기 및 서버 항목 클래스의 함수입니다.MFC OLE 샘플 HIERSVR 이 전략을 사용 하 여: 함수 CServerView::OnDrawCServerItem::OnDraw 모두 호출할 CServerDoc::DrawTree 항목을 렌더링 합니다.

보기 및 항목 OnDraw 멤버 함수는 다양 한 상황에서 그리기 때문에.보기 예: 확대/축소, 선택 영역 크기 및 범위, 클리핑 및 스크롤 막대 같은 사용자 인터페이스 요소와 요소 계정으로 수행 해야 합니다.반면, 서버 항목은 항상 전체 OLE 개체를 그립니다.

자세한 내용은 CView::OnDraw, COleServerItem, COleServerItem::OnDraw, 및 COleServerDoc::OnGetEmbeddedItem클래스 라이브러리 참조.

참고 항목

개념

서버