Partager via


COleLinkingDoc, classe

La classe de base pour les documents de conteneur OLE qui prennent en charge la liaison aux éléments inclus ils contiennent.

class COleLinkingDoc : public COleDocument

Membres

Constructeurs publics

Nom

Description

COleLinkingDoc::COleLinkingDoc

Construit un objet COleLinkingDoc.

Méthodes publiques

Nom

Description

COleLinkingDoc::Register

Enregistre le document avec les DLL système OLE.

COleLinkingDoc::Revoke

Révoque l'inscription du document.

Méthodes protégées

Nom

Description

COleLinkingDoc::OnFindEmbeddedItem

Recherche l'élément incorporé spécifié.

COleLinkingDoc::OnGetLinkedItem

Recherche l'élément lié spécifié.

Notes

Une application conteneur que la liaison prend en charge des éléments inline est appelé « conteneur de lien. » l'exemple d'application d' OCLIENT est un exemple d'un conteneur de lien.

Lorsque la source d'un élément lié est un élément inclus dans un autre document, ce document contenant doit être chargé pour que l'élément inline est modifié. Pour cette raison, un conteneur de lien doit pouvoir être activé par une autre application conteneur lorsque l'utilisateur souhaite modifier la source de l'élément lié. Votre application doit également utiliser la classe de COleTemplateServer afin qu'il puisse créer des documents une fois activé par programme.

Pour rendre votre conteneur un conteneur de lien, dérivez votre classe de document d' COleLinkingDoc au lieu de COleDocument. Comme avec tout autre conteneur OLE, vous devez concevoir votre classe pour stocker les données natives de l'application ainsi qu'un incorporé ou des éléments liés. De plus, vous devez concevoir des structures de données pour stocker les données natives. Si vous définissez CDocItemclasse dérivée pour les données natives de votre application, vous pouvez utiliser l'interface définie par COleDocument pour stocker les données natives ainsi que OLE vos données.

Pour permettre à votre application d'être lancé par programme par un autre conteneur, déclarez un objet d' COleTemplateServer en tant que membre d' CWinAppde votre application classe dérivée de :

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

Dans la fonction membre d' InitInstance de votre CWinAppclasse dérivée, créez un modèle de document et spécifiez votre COleLinkingDocclasse dérivée comme la classe de document :

   // 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);

Connectez votre objet d' COleTemplateServer à vos modèles de document en appelant la fonction membre d' ConnectTemplate de l'objet, et stocker tous les objets de classe avec OLE le système en appelant COleTemplateServer::RegisterAll:

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

Pour obtenir un exemple CWinApp- la définition de classe dérivée et l' InitInstance fonctionnent, consultez OCLIENT.H et OCLIENT.CPP dans l'exemple OCLIENTMFC.

Pour plus d'informations sur l'utilisation COleLinkingDoc, consultez les articles conteneurs : implémenter un conteneur et conteneurs : Fonctionnalités avancées.

Hiérarchie d'héritage

CObject

CCmdTarget

CDocument

COleDocument

COleLinkingDoc

Configuration requise

Header: afxole.h

Voir aussi

Référence

COleDocument, classe

Graphique de la hiérarchie

CDocTemplate, classe

Concepts

exemple MFC OCLIENT