COleLinkingDoc

Classe COleLinkingDoc é a classe base para documentos de contêiner OLE que suporte vinculação a itens incorporados que eles contêm. Um aplicativo contêiner que ofereça suporte a vinculação a itens incorporados é chamado de "contêiner de link". O aplicativo de exemplo OCLIENT é um exemplo de um contêiner de link.

Quando a origem de um item vinculado é um item incorporado em outro documento, que contém o documento deve ser carregado em ordem para o item incorporado a ser editado. Por esse motivo, um contêiner de link deve ser capaz de ser iniciado por outro aplicativo Contêiner quando o usuário deseja editar a origem de um item vinculado. Seu aplicativo também deve usar COleTemplateServer classe para que ele possa criar documentos quando iniciado programaticamente.

Para tornar seu contêiner de um contêiner de link, derive sua classe de documentos de COleLinkingDoc em vez de COleDocument. Como com qualquer outro contêiner OLE, você deve design sua classe para armazenar o aplicativo dados nativos, bem como incorporados ou vinculados itens. Além disso, você deve design estruturas de dados para armazenar seus dados nativos. Se você definir um CDocItem-classe derivada para seu aplicativo nativo dados, você pode usar a interface definida pelo COleDocument para armazenar seus dados nativos, bem como seus dados OLE.

Para permitir que o aplicativo seja iniciado programaticamente por outro contêiner, declare um objeto COleTemplateServer como um membro do seu aplicativo CWinApp-classe derivada:

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

Na função de membro InitInstance do seu CWinApp-derivado classe, criar um modelo de documento e especifica seu COleLinkingDoc-derivada de classe como a classe de documento:

/ / CMainDoc é derivada de COleLinkingDoc
CMultiDocTemplate * pDocTemplate = novo CMultiDocTemplate (IDR_OCLIENTTYPE,
 nbsp; RUNTIME_CLASS(CMainDoc),
   RUNTIME_CLASS(CSplitFrame),
   RUNTIME_CLASS(CMainView));
pDocTemplate - > (SetContainerInfo
   IDR_OCLIENTTYPE_CNTR_IP);
AddDocTemplate(pDocTemplate)

Conectar seu objeto de COleTemplateServer aos modelos documento chamando a função de membro ConnectTemplate do objeto e registrar todos os objetos de classe com o sistema OLE chamando RegisterAll

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

Para uma amostra CWinApp-derivado classe função definição e InitInstance , consulte OCLIENT.H e OCLIENT.CPP no MFC exemplo OCLIENT.

Para obter mais informações sobre o uso de COleLinkingDoc, consulte os artigos contêineres: Implementando um contêiner e contêineres: recursos avançados no Guia do programador do Visual C++.

# include lt;afxole.h>

Membros da classe |nbsp; Classe base | Gráfico de hierarquia

Amostranbsp; MFC exemplo OCLIENT

Co&nsulte tambémnbsp;CDocTemplate

Index