Classe de COleLinkingDoc

A classe base para documentos contêiner VELHOS que suportam vincular aos itens inseridos contêm.

class COleLinkingDoc : public COleDocument

Membros

zz0aa7az.collapse_all(pt-br,VS.110).gifConstrutores public

Nome

Descrição

COleLinkingDoc::COleLinkingDoc

Constrói um objeto de COleLinkingDoc .

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

Nome

Descrição

COleLinkingDoc::Register

Registra o documento com as dlls VELHOS do sistema.

COleLinkingDoc::Revoke

Revoga o registro do documento.

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

Nome

Descrição

COleLinkingDoc::OnFindEmbeddedItem

Localiza o item inserido especificado.

COleLinkingDoc::OnGetLinkedItem

Localiza o item associado especificado.

Comentários

Um aplicativo de contêiner que suporte para vincular itens inseridos é chamado de “contêiner um link.” O aplicativo de exemplo OCLIENT é um exemplo de um contêiner de link.

Quando a fonte de um item associado é um item inserido em outro documento, esse documento recipiente deve ser carregado para o item inserido ser editado.Por esse motivo, um contêiner de link deve poder ser iniciado por outro aplicativo de contêiner quando o usuário deseja editar a fonte de um item associado.O aplicativo também deve usar a classe de COleTemplateServer de modo que pode criar documentos quando iniciado por meio de programação.

Para fazer ao recipiente um contêiner de link, sua classe derivada de documento de COleLinkingDoc em vez de COleDocument.Como com qualquer outro contêiner OLE, você deve criar sua classe para armazenar os dados nativos bem como os itens inseridos ou associados do aplicativo.Além de isso, você deve criar estruturas de dados para armazenar seus dados nativos.Se você definir CDocItem- classe derivada para os dados nativos do seu aplicativo, você pode usar a interface definida por COleDocument para armazenar seus dados nativos bem como seus dados VELHOS.

Para permitir que o aplicativo é iniciado programaticamente por outro contêiner, declare um objeto de COleTemplateServer como um membro de CWinAppdo aplicativo - classe derivada:

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

Em a função de membro do CWinApp- classe derivada de InitInstance , crie um modelo de documento e especifique seu COleLinkingDoc- classe derivada como a classe 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 seu objeto de COleTemplateServer a seus modelos de documentos pela função de membro de ConnectTemplate do objeto, e registrar todos os objetos da classe com o sistema OLE chamando COleTemplateServer::RegisterAll:

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

Para um exemplo CWinApp- a definição de classe derivada e a função de InitInstance , consulte OCLIENT.H e OCLIENT.CPP no exemplo OCLIENTMFC.

Para obter mais informações sobre como usar COleLinkingDoc, consulte os artigos Recipientes: implementando um contêiner e Recipientes: recursos avançados.

Hierarquia de herança

CObject

CCmdTarget

CDocument

COleDocument

COleLinkingDoc

Requisitos

Cabeçalho: afxole.h

Consulte também

Referência

Classe de COleDocument

Gráfico de hierarquia

Classe de CDocTemplate

Conceitos

Exemplo OCLIENT MFC