Compartir a través de


Clase de COleLinkingDoc

La clase base para los documentos contenedor de OLE que admiten vincular elementos incrustados contienen.

class COleLinkingDoc : public COleDocument

Miembros

zz0aa7az.collapse_all(es-es,VS.110).gifConstructores públicos

Name

Descripción

COleLinkingDoc::COleLinkingDoc

Crea un objeto COleLinkingDoc.

zz0aa7az.collapse_all(es-es,VS.110).gifMétodos públicos

Name

Descripción

COleLinkingDoc::Register

Registra el documento con los archivos DLL de OLE del sistema.

COleLinkingDoc::Revoke

Revoca el registro del documento.

zz0aa7az.collapse_all(es-es,VS.110).gifMétodos protegidos

Name

Descripción

COleLinkingDoc::OnFindEmbeddedItem

encuentra el elemento incrustado especificado.

COleLinkingDoc::OnGetLinkedItem

encuentra el elemento vinculado especificado.

Comentarios

Una aplicación contenedora que admite vincular elementos incrustados se denomina un “contenedor de vínculo”. La aplicación de ejemplo de OCLIENT es un ejemplo de un contenedor de vínculo.

Cuando el origen de un elemento vinculado es un elemento incrustado en otro documento, el documento que contiene se debe cargar para que el elemento incrustado se pueda editar.Por esta razón, un contenedor de vínculo debe poderse iniciadas por otra aplicación contenedora cuando el usuario desea editar el origen de un elemento vinculado.La aplicación debe utilizar la clase de COleTemplateServer para poder crear documentos cuando se inicia mediante programación.

Para crear el contenedor un contenedor de vínculo, derive la clase de COleLinkingDoc en lugar de COleDocument.Como con cualquier otro contenedor OLE, debe diseñar la clase para almacenar datos nativos así como elementos insertados o vinculados de la aplicación.Además, debe diseñar estructuras de datos para almacenar datos nativos.Si define CDocItem- clase derivada para datos nativos de la aplicación, puede utilizar la interfaz definida por COleDocument para almacenar datos nativos así como datos de OLE.

Para permitir que la aplicación se inicia mediante programación por otro contenedor, declare un objeto de COleTemplateServer como miembro de CWinAppde es una clase derivada:

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

En función de CWinApp- clase derivada del miembro de InitInstance , cree una plantilla de documento y especifique COleLinkingDoc- clase derivada como clase de documento:

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

Conectar el objeto de COleTemplateServer a las plantillas de documento llamando a la función miembro de ConnectTemplate object, y registran todos los objetos de clase con el sistema OLE llamando a COleTemplateServer:: RegisterAll:

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

Para obtener un ejemplo CWinApp- la definición y InitInstance de clase derivada funcionan, vea OCLIENT.H y OCLIENT.CPP en el ejemplo OCLIENTMFC.

Para obtener más información sobre cómo utilizar COleLinkingDoc, vea los artículos contenedores: implementar un contenedor y contenedores: Características avanzadas.

Jerarquía de herencia

CObject

CCmdTarget

CDocument

COleDocument

COleLinkingDoc

Requisitos

encabezado: afxole.h

Vea también

Referencia

Clase de COleDocument

Gráfico de jerarquía

Clase CDocTemplate

Conceptos

ejemplo OCLIENT de MFC