COleLinkingDoc

La clase COleLinkingDoc es la clase base para documentos de contenedor OLE que admiten la vinculación a los elementos incrustados que contienen. Una aplicación contenedora que admite la vinculación de elementos incrustados se llama un "contenedor de enlace". El aplicación de ejemplo OCLIENT es un ejemplo de un contenedor de enlace.

Cuando la fuente de un elemento vinculado es un elemento incrustado en otro documento, que contiene el documento debe estar cargado para que el elemento incrustado a editarse. Por esta razón, un contenedor de enlace debe ser capaz de ser lanzado por otra aplicación contenedor cuando el usuario quiere modificar el origen de un elemento enlazado. La aplicación también debe utilizar la clase COleTemplateServer para que puedan crear documentos cuando se inicia mediante programación.

Para hacer que su contenedor de un contenedor de enlace, derivar la clase de documento de COleLinkingDoc en lugar de COleDocument. Como con cualquier otro contenedor OLE, debe diseñar su clase para almacenar datos nativos la aplicación, así como elementos vinculados o incrustados. Además, debe diseñar estructuras de datos para almacenar los datos nativos. Si se define un CDocItem-clase derivada de la aplicación nativa de datos, puede utilizar la interfaz definida por COleDocument para almacenar sus datos nativos así como sus datos OLE.

Para permitir su aplicación mediante programación lanzada por otro contenedor, declarar un objeto COleTemplateServer como miembro de la aplicación CWinApp-clase derivada:

clase COleClientApp: público CWinApp
{
// ...
protegido:
   COleTemplateServer m_server;
// ...
}

En la función miembro InitInstance de tu CWinApp-derivado de la clase, cree una plantilla de documento y especifique su COleLinkingDoc-derivado de la clase como la clase de documento:

/ / CMainDoc se deriva de COleLinkingDoc
CMultiDocTemplate * pDocTemplate = new CMultiDocTemplate (IDR_OCLIENTTYPE,
 nbsp; RUNTIME_CLASS(CMainDoc),
   RUNTIME_CLASS(CSplitFrame),
   RUNTIME_CLASS(CMainView));
pDocTemplate - > SetContainerInfo ()
   IDR_OCLIENTTYPE_CNTR_IP);
AddDocTemplate(pDocTemplate)

Conectar el objeto COleTemplateServer a las plantillas de documento llamando a la función del objeto ConnectTemplate miembros y registrar todos los objetos de clase con el sistema OLE llamando COleTemplateServer::RegisterAll

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

Para una muestra CWinApp-definición de la clase derivada y función InitInstance , consulte OCLIENT.H y OCLIENT.CPP en la muestra MFC OCLIENT.

Para obtener más información sobre COleLinkingDoc, vea los artículos contenedores: implementar un contenedor y contenedores: características avanzadas en la Guía del programador de Visual C++.

# include lt;afxole.h>

Miembros de la clase |nbsp; Clase base | Diagrama de jerarquía

Muestranbsp; Ejemplo de MFC OCLIENT

Vea tambié&nnbsp;CDocTemplate

Index