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
Öffentliche Konstruktoren
Name |
Description |
---|---|
Erstellt ein COleLinkingDoc-Objekt. |
Öffentliche Methoden
Name |
Description |
---|---|
Registriert das Dokument mit den OLE-Systemen-DLL. |
|
Widerruft die Registrierung des Dokuments. |
Geschützte Methoden
Name |
Description |
---|---|
Sucht das angegebene eingebettete Element. |
|
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
COleLinkingDoc
Anforderungen
Header: afxole.h