MFCBIND 샘플: 액티브 문서 컨테이너

업데이트: 2007년 11월

MFCBIND 샘플에서는 MFC의 액티브 문서 컨테이너 지원 클래스를 사용하여 액티브 문서(이전의 DocObject) 컨테이너를 만드는 방법을 보여 줍니다. MFC 바인더 샘플은 COleDocObjectItem 클래스를 사용하여 포함된 액티브 문서를 MFC 문서에 나타내는 SDI 응용 프로그램입니다. MFCBIND는 Microsoft Office에 포함된 Office 바인더 응용 프로그램과 매우 유사하게 동작합니다.

보안 정보:

이 샘플 코드는 개념을 보여 주기 위해 제공되며 가장 안전한 코드 작성 방법을 제시하지 않을 수 있으므로 응용 프로그램이나 웹 사이트에서 사용할 수 없습니다. Microsoft는 샘플 코드를 원래 용도 이외의 다른 용도로 사용하는 경우 발생하는 부수적이나 파생적인 손해에 대해 책임을 지지 않습니다.

샘플 및 이를 설치하기 위한 지침을 가져오려면

  • Visual Studio의 도움말 메뉴에서 샘플을 클릭합니다.

    자세한 내용은 샘플 파일 찾기를 참조하십시오.

  • 최신 버전 및 전체 샘플 목록은 Visual Studio 2008 Samples 페이지에서 온라인으로 사용할 수 있습니다.

  • 컴퓨터의 하드 디스크에서도 샘플을 찾을 수 있습니다. 기본적으로 샘플과 추가 정보 파일은 \Program Files\Visual Studio 9.0\Samples\ 아래의 폴더에 복사됩니다. Visual Studio Express Edition의 경우에는 모든 샘플이 온라인에 있습니다.

샘플 빌드 및 실행

MFCBIND 샘플을 빌드하고 실행하려면

  1. mfcbind.sln 솔루션을 엽니다.

  2. 빌드 메뉴에서 빌드를 클릭합니다.

  3. 응용 프로그램를 시작하고 Section 메뉴에서 Add 메뉴 항목을 클릭하여 원하는 수의 섹션을 바인더에 추가합니다.

    예를 들면 이미지, Word 및 Excel 문서 등을 추가할 수 있습니다. 바인더에 섹션을 추가하는 경우 MFC 바인더 응용 프로그램에서는 섹션의 네이티브 응용 프로그램에서 작업하는 것처럼 직접 섹션을 편집할 수 있습니다.

  4. 바인더에서 섹션 편집 작업을 끝내면 File 메뉴에서 Save를 클릭하여 바인더를 저장합니다. Save를 클릭하면 바인더의 섹션이 하나의 파일로 저장됩니다. 바인더를 나중에 다시 열면 이전에 저장된 상태로 섹션을 사용할 수 있습니다.

MFC의 액티브 문서

MFC에서 액티브 문서는 일반 내부 편집 가능한 포함 문서가 처리되는 것과 같은 방법으로 처리됩니다. COleDocument 파생 클래스는 현재 포함된 항목의 목록을 유지 관리합니다. COleClientItem 개체는 COleClientItem에서 파생된 COleDocObjectItem 클래스로 대체되고 COleDocument의 포함 항목을 나타냅니다. 이러한 COleDocObjectItem 파생 항목은 COleDocument 파생 클래스에 의해 목록으로 유지 관리됩니다. 그러나 액티브 문서는 내부 활성 상태일 때 뷰의 전체 클라이언트 영역을 차지합니다. 또한 액티브 문서 컨테이너는 이전의 내부 포함 문서와 달리 Help 메뉴의 모든 권한을 가집니다. Help 메뉴에는 액티브 문서 컨테이너와 서버 둘 다에 대한 메뉴 항목이 있습니다. 액티브 문서 컨테이너는 Help 메뉴를 소유하므로 Help 메뉴의 서버 부분에 대한 메시지를 서버에 전달해야 합니다. 도움말 메뉴 병합 및 메시지 전달 기능은 MFC 프레임워크에서 완벽하게 처리합니다.

키워드

이 샘플에서는 다음의 키워드를 보여 줍니다.

COleClientItem::FinishCreate, COleClientItem::GetIconFromRegistry, IOleObject::GetUserClassID, COleClientItem::OnChange, COleClientItem::OnChangeItemPosition, COleClientItem::OnGetItemPosition, COleClientItem::OnActivate, COleDocument::GetInPlaceActiveItem, COleClientItem::Deactivate, COleClientItem::CreateNewItem, COleClientItem::DoVerb, COleDocObjectItem::COleDocObjectItem, COleClientItem::CreateFromFile, COleClientItem::Activate, COleDocObjectItem::OnPreparePrintin, COleDocObjectItem::OnPrint, SystemParametersInfo, MeasureItem, DrawItem, GetSystemMetrics, SelectObject

참고:

이 샘플을 비롯한 일부 샘플은 Visual C++ 마법사, 라이브러리 및 컴파일러의 변경 내용을 반영하도록 수정되지 않았지만 해당 작업의 수행 방법을 보여 줍니다.

참고 항목

기타 리소스

MFC 샘플