COleLinkingDoc-Klasse

Die Basisklasse für OLE-Containerdokumente, die das Verknüpfen mit den eingebetteten Elementen unterstützen, enthalten sie.

class COleLinkingDoc : public COleDocument

Mitglieder

zz0aa7az.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Description

COleLinkingDoc::COleLinkingDoc

Erstellt ein COleLinkingDoc-Objekt.

zz0aa7az.collapse_all(de-de,VS.110).gifÖffentliche Methoden

Name

Description

COleLinkingDoc::Register

Registriert das Dokument mit den OLE-Systemen-DLL.

COleLinkingDoc::Revoke

Widerruft die Registrierung des Dokuments.

zz0aa7az.collapse_all(de-de,VS.110).gifGeschützte Methoden

Name

Description

COleLinkingDoc::OnFindEmbeddedItem

Sucht das angegebene eingebettete Element.

COleLinkingDoc::OnGetLinkedItem

Sucht das angegebene verknüpfte Element.

Hinweise

Eine Containeranwendung, die das Verknüpfen mit eingebetteten Elementen unterstützt, wird aufgerufen Linkcontainer einen "." Die OCLIENT Beispielanwendung ist ein Beispiel eines Linkcontainers.

Wenn die Quelle eines verknüpften Elements ein eingebettetes Element in einem anderen Dokument ist, muss dieses enthaltende Dokument geladen werden, sodass das eingebettete Element bearbeitet werden kann.Aus diesem Grund muss ein Linkcontainer in der Lage sein, durch eine andere Containeranwendung ausgelöst werden, wenn der Benutzer die Quelle eines verknüpften Elements bearbeiten möchte.Die Anwendung muss die COleTemplateServer-Klasse verwenden, damit sie Dokumente erstellen kann, wenn sie programmgesteuert gestartet wird.

Um den Container einen Linkcontainer zu erstellen, leiten Sie die Dokumentklasse von COleLinkingDoc anstelle COleDocument.Wie bei jedem anderen OLE-Container, müssen Sie die Klasse zum Speichern der systemeigenen Daten sowie eingebetteten oder verknüpfte Elemente der Anwendung entwerfen.Sie müssen außerdem Datenstrukturen zum Speichern der systemeigene Daten entwerfen.Wenn Sie CDocItem von abgeleitete Klasse für die systemeigenen Daten der Anwendung definieren, können Sie die Schnittstelle verwenden, die von COleDocument definiert wird, um die systemeigene Daten sowie die OLE-Daten zu speichern.

Um die Anwendung zu ermöglichen durch einen anderen Container programmgesteuert gestartet werden, deklarieren Sie ein COleTemplateServer-Objekt als Member von CWinApp der Anwendung von abgeleitete Klasse:

class COleContainerApp : public CWinApp
{
protected:
   COleTemplateServer m_server;
   // remainder of class declaration ommitted

In der InitInstance-Memberfunktion aus dem CWinApp von abgeleitete Klasse, erstellen Sie eine Normal-Vorlage und geben Sie das COleLinkingDoc an von abgeleitete Klasse als die Dokumentklasse:

   // CMyLinkDoc is derived from COleLinkingDoc
   CMultiDocTemplate* pDocTemplate = new CMultiDocTemplate(IDR_LINKDOCTYPE,
      RUNTIME_CLASS(CMyLinkDoc),
      RUNTIME_CLASS(CChildFrame),
      RUNTIME_CLASS(CMyLinkView));
    if (!pDocTemplate)
        return FALSE;
   pDocTemplate->SetContainerInfo(IDR_OLECONTTYPE_CNTR_IP);
   AddDocTemplate(pDocTemplate);

Schließen Sie das COleTemplateServer-Objekt zu den Dokumentvorlagen, indem Sie die ConnectTemplate-Memberfunktion des Objekts aufrufen, und registrieren Sie alle Klassenobjekte mit dem OLE-System, indem Sie COleTemplateServer::RegisterAll aufrufen:

m_server.ConnectTemplate(clsid, pDocTemplate, FALSE);
COleTemplateServer::RegisterAll();

Ein Beispiel CWinApp- Definition der abgeleiteten Klasse und InitInstance-Funktion, finden OCLIENT.H und OCLIENT.CPP im MFC-Beispiel OCLIENT.

Weitere Informationen zur Verwendung von COleLinkingDoc, finden Sie in Artikel Container: Implementieren eines Containers und Container: Erweiterte Funktionen.

Vererbungshierarchie

CObject

CCmdTarget

CDocument

COleDocument

COleLinkingDoc

Anforderungen

Header: afxole.h

Siehe auch

Referenz

COleDocument-Klasse

Hierarchien-Diagramm

CDocTemplate-Klasse

Konzepte

MFC-Beispiel OCLIENT