MFCBIND-Beispiel: Active Document-Container

Aktualisiert: November 2007

Das MFCBIND-Beispiel zeigt, wie ein Active Document-Container (früher DocObject genannt) mithilfe von MFC-Unterstützungsklassen für Active Document-Container erstellt wird. Das MFC-Sammelmappenbeispiel ist eine SDI-Anwendung, die die COleDocObjectItem-Klasse zum Darstellen eines eingebetteten Active Documents in ein MFC-Dokument verwendet. MFCBIND funktioniert ähnlich wie die im Lieferumfang von Microsoft Office enthaltene Anwendung Office Sammelmappe.

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 MFCBIND-Beispiel und führen es aus

  1. Öffnen Sie die Projektmappe mfcbind.sln.

  2. Klicken Sie im Menü Erstellen auf Erstellen.

  3. Starten Sie die Anwendung und klicken im Menü Abschnitt auf die Option Hinzufügen, um der Sammelmappe beliebig viele Abschnitte hinzuzufügen.

    Bilddokumente sowie Word- und Excel-Dokumente sind Beispiele für Abschnitte. Wenn Sie der Sammelmappe einen Abschnitt hinzufügen, können Sie diesen direkt von der MFC-Sammelmappenanwendung ausführen, als ob Sie in der Ursprungsanwendung des Abschnitts arbeiten würden.

  4. Wenn Sie die Bearbeitung der Abschnitte in der Sammelmappe beendet haben, speichern Sie diese, indem Sie im Menü Datei auf Speichern klicken. Mit der Option Speichern werden die Abschnitte in der Sammelmappe in einer einzigen Datei gespeichert. Wenn Sie die Sammelmappe zu einem späteren Zeitpunkt erneut öffnen, sind die Abschnitte in ihrem zuvor gespeicherten Zustand verfügbar.

Active Documents in MFC

Active Documents werden in MFC weitgehend wie reguläre, direkt bearbeitbare eingebettete Elemente behandelt. Die von COleDocument abgeleitete Klasse verwaltet nach wie vor eine Liste der momentan eingebetteten Elemente. Das COleClientItem-Objekt, das durch die von COleClientItem abgeleitete COleDocObjectItem-Klasse ersetzt wird, repräsentiert das eingebettete Element im COleDocument. Diese von COleDocObjectItem abgeleiteten Elemente werden durch die von COleDocument abgeleitete Klasse in einer Liste verwaltet. Active Documents nehmen jedoch den gesamten Clientbereich der Ansicht in Anspruch, wenn sie direkt aktiv sind. Im Gegensatz zu älteren direkt eingebetteten Elementen steuert ein Active Document-Container außerdem vollständig das Menü Hilfe. Das Menü Hilfe enthält Menüelemente sowohl für den Active Document-Container als auch für den Active Document-Server. Da das Menü Hilfe zum Active Document-Container gehört, ist dieser für das Weiterleiten von Meldungen an den Server verantwortlich, die für den Serverteil des Menüs Hilfe bestimmt sind. Die Funktionen des Menüs Hilfe zum Zusammenführen und zur Meldungsweiterleitung werden vollständig vom MFC-Framework gesteuert.

Schlüsselwörter

Dieses Beispiel demonstriert die Verwendung der folgenden Schlüsselwörter:

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

Hinweis:

In diesem und einigen anderen Beispielen wurden die Änderungen an den Visual C++-Assistenten, -Bibliotheken und -Compilern noch nicht nachvollzogen. Sie demonstrieren aber dennoch, wie Sie die gewünschte Aufgabe durchführen können.

Siehe auch

Weitere Ressourcen

MFC-Beispiele