다음을 통해 공유


ACTIVEDOC 샘플: 액티브 문서 서버 구현

업데이트: 2007년 11월

ACTIVEDOC 샘플은 액티브 문서 서버를 구현하는 방법을 보여 줍니다. 이 샘플은 다음 내용을 보여 줍니다.

  • IOleDocumentIOleDocumentView 인터페이스를 구현하는 방법

  • 컨테이너와 메뉴 병합을 수행하는 방법

  • 개체에서 도구 모음을 구현하는 방법

  • IPersistStreamInit 메서드인 Load 및 Save를 무시하고 사용자 지정 저장 및 로드를 수행하는 방법

  • CDialogImpl을 사용하여 정보 대화 상자를 구현하는 방법

  • Rich Text Edit 컨트롤의 서브클래스를 만드는 방법

보안 정보:

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

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

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

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

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

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

샘플 빌드 및 실행

이 샘플을 빌드하려면

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

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

Internet Explorer를 사용하여 샘플을 실행하려면

  1. Internet Explorer에서 ActiveDoc.htm 또는 ActiveDoc.AAA 생성 파일을 엽니다. ActiveDoc.AAA를 열려면 파일을 열 것인지 묻는 메시지가 나타날 때 Open 단추를 클릭합니다.

  2. Internet Explorer의 메뉴 모음에 병합된 서식 메뉴를 사용하거나 도구 모음 색을 클릭하여 입력한 텍스트의 색을 변경합니다.

Microsoft Office Binder를 사용하여 샘플을 실행하려면

  1. Microsoft Office Binder를 실행하고 섹션 메뉴에서 추가를 클릭합니다.

  2. "ActiveDoc Class" 아이콘을 선택하고 확인을 클릭합니다.

    Office Binder에 포함된 개체가 나타나야 합니다. 메뉴가 병합되고 ActiveDoc의 도구 모음이 나타납니다. 텍스트를 입력하고 메뉴 및 도구 모음 단추를 사용하여 입력한 텍스트의 색을 변경합니다.

샘플 파일

이 샘플에는 다음과 같은 주 파일이 포함되어 있습니다.

  • ActiveCtl.h

  • ActiveCtl.cpp — 전반적인 ActiveDoc 개체를 나타내는 CActiveDoc를 구현합니다.

  • OleDocument.h — IOleDocumentIOleDocumentView 인터페이스의 구현을 포함합니다.

  • Toolbar.h — 도구 모음의 구현을 돕는 CToolbar를 포함합니다.

키워드

이 샘플에서는 다음의 키워드를 사용합니다.

ActiveXDocActivate; ALT_MSG_MAP; ATLASSERT; ATLTRACE; BEGIN_COM_MAP; BEGIN_MSG_MAP; BEGIN_OBJECT_MAP; BEGIN_PROPERTY_MAP; BEGIN_TOOLBAR_MAP; CAboutDlg::DoModal; CanInPlaceActivate; CComCoClass; CComControl; CComModule::GetClassObject; CComModule::GetLockCount; CComModule::Init; CComModule::RegisterServer; CComModule::Term; CComModule::UnregisterServer; CComObjectRoot; CComObjectRootEx::InternalQueryInterface; CComPtr; CHARFORMAT; CMenu; COM_INTERFACE_ENTRY; COM_INTERFACE_ENTRY_IMPL; COMMAND_ID_HANDLER; COMMAND_RANGE_HANDLER; CreateMenu; CreateRTFWindow; CreateToolbar; CreateWindowEx; CToolbar; CWindow::DestroyWindow; CWindow::ModifyStyle; CWindow::SetFocus; CWindow::SetParent; CWindow::SetWindowPos; DECLARE_REGISTRY_RESOURCEID; DestroyMenu; DestroyToolbar; DisableThreadLibraryCalls; DllMain; DoesVerbUIActivate; EDITSTREAM::dwCookie; EDITSTREAM::dwError; EDITSTREAM::pfnCallback; Ellipse; END_COM_MAP; END_MSG_MAP; END_OBJECT_MAP; END_PROPERTY_MAP; END_TOOLBAR_MAP; EndDialog; ExtTextOut; FreeLibrary; GetMenuItemCount; GetMenuItemID; GetMenuState; GetMenuString; GetResourceInstance; GetStockObject; GetSubMenu; GetTextMetrics; GetWindow; GetWindowContext; GetWindowRect; HDC; hdcDraw;; IDataObjectImpl; IDispatchImpl; InitCommonControls; InlineIsEqualGUID; InPlaceDeactivate; InPlaceMenuCreate; InPlaceMenuDestroy; InsertMenu; InterfaceSupportsErrorInfo; InternalQueryInterface; IOleControlImpl; IOleDocument::GetDocMiscStatus; IOleDocumentImpl; IOleDocumentView::ApplyViewState; IOleDocumentView::SetInPlaceSite; IOleDocumentViewImpl; IOleInPlaceActiveObjectImpl; IOleInPlaceFrame*   pFrame;; IOleInPlaceFrame::InsertMenus; IOleInPlaceFrame::Release; IOleInPlaceFrame::SetMenu; IOleInPlaceObjectWindowlessImpl; IOLEInPlaceSite::GetWindowContext; IOleObjectImpl; IPersistStorageImpl; IPersistStreamInitImpl; IProvideClassInfo2Impl; IQuickActivateImpl; ISupportErrorImpl; IViewObjectExImpl; LoadLibrary; LoadMenu; LoadString; MAKEINTRESOURCE; MergeMenus; MESSAGE_HANDLER; NOTIFY_CODE_HANDLER; OBJECT_ENTRY; OleCreateMenuDescriptor; OLEINPLACEFRAMEINFO; OnInPlaceActivate; OnUIActivate; prcBounds; RECT rcPos, rcClip;; RemoveMenu; SelectObject; SendMessage; SetActiveObject; SetBkMode; SetBorderSpace; SetControlFocus; SetFocus; SetInPlaceSite; SetMenu; SetObjectRects; SetTextColor; ShowObject; ShowWindow; UIActivate; UIDeactivate; UnmergeMenus; ZeroMemory

참고 항목

기타 리소스

ATL 샘플