다음을 통해 공유


컨테이너: 컨테이너 구현

이 문서에서는 컨테이너를 구현 하는 절차를 요약 및 자세한 컨테이너를 구현 하는 방법에 대 한 설명을 제공 하는 문서를 가리키는.구현 하려는 경우 몇 가지 선택적인 OLE 기능과 이러한 기능을 설명 하는 문서를 나열 합니다.

CWinApp 파생 클래스를 준비 하려면

  1. OLE 라이브러리를 호출 하 여 초기화 AfxOleInitInitInstance 멤버 함수입니다.

  2. 호출 CDocTemplate::SetContainerInfo 에서 InitInstance 의 메뉴 및 액셀러레이터 키를 할당 하려면 내부 항목이 포함된 될 때 사용 되는 리소스를 활성화 합니다.이 항목에 대 한 자세한 내용은 정품.

컨테이너 응용 프로그램을 만들려면 MFC 응용 프로그램 마법사를 사용 하는 경우 이러한 기능을 자동으로 제공 됩니다.참조 는 MFC EXE 프로그램 만들기.

뷰 클래스를 준비 하려면

  1. 선택한 항목에 대 한 포인터를 유지 하 여 추적 하거나 선택한 항목에 여러 선택 영역을 지원 하면 포인터입니다.사용자 OnDraw 함수 모든 OLE 항목을 그릴 합니다.

  2. 재정의 IsSelected 전달 된 항목이 현재 선택 되어 있는지 여부를 확인 합니다.

  3. 구현 된 OnInsertObject 메시지 처리기를 표시 하는 개체 삽입 대화 상자.

  4. 구현 된 OnSetFocus 메시지 처리기 보기에서 현재 위치에서 현재 OLE에 포커스를 전송할 항목을 포함 합니다.

  5. 구현 된 OnSize 메시지 처리기는 ole 포함 항목에 뷰의 크기 변경을 반영 하기 위해 해당 영역을 변경 하는 데 필요한.

이러한 기능의 구현을 대폭에서 응용 프로그램 마다 달라 지기 때문 응용 프로그램 마법사는 기본 구현만 제공 합니다.대개 응용 프로그램이 제대로 작동 하려면 이러한 함수를 사용자 지정 해야 합니다.이 예는 컨테이너 샘플입니다.

포함 및 연결 된 항목을 처리 하려면

  1. 파생 클래스에서 활성화.이 클래스의 개체 포함 또는 연결 OLE 문서에 항목을 나타냅니다.

  2. Override OnChange, OnChangeItemPosition, and OnGetItemPosition.이러한 함수 크기 조정, 위치 지정 및 수정 포함 항목과 연결 항목을 처리 합니다.

응용 프로그램 마법사에서 클래스를 파생 하지만 대부분 무시 해야 합니다 OnChange 및 다른 함수가 나열 된 앞의 절차의 2 단계에서.기본 구현을 이러한 함수에서 응용 프로그램 마다 다르게 구현 되기 때문에 대부분의 응용 프로그램에 대 한 사용자 지정 해야 합니다.이 예제를 보려면 MFC 샘플을 참조 하십시오. DRAWCLI컨테이너.

OLE를 지원 하려면 컨테이너 응용 프로그램의 메뉴 구조에 많은 항목을 추가 해야 합니다.이 대 한 자세한 내용은 메뉴 및 리소스: 컨테이너 추가.

컨테이너 응용 프로그램에서 다음 기능 중 일부를 지원 할 수 있습니다.

  • 포함 된 항목을 편집할 때 현재 위치에서 활성화 합니다.

    자세한 내용은 정품.

  • 서버 응용 프로그램에서 선택 영역 끌어서 놓기를 OLE 항목 만들기.

    자세한 내용은 드래그 앤 드롭 (OLE).

  • 포함 된 개체 또는 조합 컨테이너/서버 응용 프로그램에 연결 됩니다.

    자세한 내용은 컨테이너: 고급 기능.

참고 항목

개념

컨테이너

컨테이너: 클라이언트 항목