Share via


ACTIVEDOC-Beispiel: Implementiert einen Active Document-Server

Aktualisiert: November 2007

Das ACTIVEDOC-Beispiel zeigt, wie ein Active Document-Server implementiert wird. Dieses Beispiel demonstriert Folgendes:

  • Wie Sie die Schnittstellen IOleDocument und IOleDocumentView implementieren.

  • Wie Sie mit dem Container Menüs zusammenführen.

  • Wie Sie im Objekt eine Symbolleiste implementieren.

  • Wie Sie die IPersistStreamInit-Methoden Load und Save überschreiben, um benutzerdefiniertes Speichern und Laden zu ermöglichen.

  • Wie Sie CDialogImpl zur Implementierung des Dialogfelds Info verwenden.

  • Wie Sie für das RTF-Textfeld-Steuerelement eine untergeordnete Klasse erstellen.

Sicherheitshinweis:

Dieser Beispielcode dient dazu, ein Konzept zu veranschaulichen. Er sollte nicht für Anwendungen oder Websites verwendet werden, da dieser Code unter Umständen nicht die sicherste Codierungstechnik darstellt. Microsoft übernimmt keine Haftung für beiläufig entstandene Schäden oder Folgeschäden, falls der Beispielcode nicht bestimmungsgemäß verwendet wird.

So rufen Sie Beispiele und Anweisungen für ihre Installation ab

  • Klicken Sie in Visual Studio im Menü Hilfe auf Beispiele.

    Weitere Informationen finden Sie unter Suchen von Beispieldateien.

  • Die neueste Version und vollständige Liste mit Beispielen ist online unter Visual Studio 2008 Samples verfügbar.

  • Sie können auch Beispiele auf der Festplatte des Computers suchen. Standardmäßig werden Beispiele und eine Infodatei in einen Ordner unter \Programme\Visual Studio 9.0\Samples\ kopiert. Für Express Editions von Visual Studio sind alle Beispiele online verfügbar.

Erstellen und Ausführen des Beispiels

So erstellen Sie das Beispiel

  1. Öffnen Sie die Projektmappe ActiveDoc.sln.

  2. Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

So führen Sie das Beispiel mit dem Internet Explorer aus

  1. Öffnen Sie in Internet Explorer ActiveDoc.htm oder die generierte Datei ActiveDoc.AAA. (Zum Öffnen von ActiveDoc.AAA klicken Sie auf die Schaltfläche Öffnen, wenn Sie dazu aufgefordert werden.)

  2. Verwenden Sie das Menü Format, das mit der Menüleiste von Internet Explorer zusammengeführt wurde, oder klicken Sie einfach auf die Farben der Symbolleiste, um die Farbe des Texts zu ändern.

So führen Sie das Beispiel mithilfe von Microsoft Office Sammelmappe aus

  1. Starten Sie Microsoft Office Sammelmappe, und klicken Sie im Menü Abschnitt auf Hinzufügen.

  2. Wählen Sie das Symbol mit der Bezeichnung ActiveDoc-Klasse aus, und klicken Sie auf OK.

    Das Objekt sollte jetzt sichtbar in Office Sammelmappe eingebettet sein. Beachten Sie, dass die Menüs zusammengeführt wurden und die ActiveDoc-Symbolleiste angezeigt wird. Sie können Text eingeben und mithilfe des Menüs und der Symbolleisten-Schaltflächen die Farbe des Texts ändern.

Beispieldateien

Das Beispiel enthält die folgenden Dateien:

  • ActiveCtl.h

  • ActiveCtl.cpp – implementiert CActiveDoc, das das gesamte ActiveDoc-Objekt darstellt.

  • OleDocument.h – enthält die Implementierungen der IOleDocument-Schnittstelle und der IOleDocumentView-Schnittstelle.

  • Toolbar.h – enthält CToolbar, das die Implementierung der Symbolleiste unterstützt.

Schlüsselwörter

In diesem Beispiel werden die folgenden Schlüsselwörter verwendet:

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

Siehe auch

Weitere Ressourcen

ATL-Beispiele