Classe COleLinkingDoc
A classe base para documentos contêiner VELHOS que suportam vincular aos itens inseridos contêm.
class COleLinkingDoc : public COleDocument
Membros
Construtores public
Nome |
Descrição |
---|---|
Constrói um objeto de COleLinkingDoc . |
Métodos públicos
Nome |
Descrição |
---|---|
Registra o documento com as dlls VELHOS do sistema. |
|
Revoga o registro do documento. |
Métodos protegidos
Nome |
Descrição |
---|---|
Localiza o item inserido especificado. |
|
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
COleLinkingDoc
Requisitos
Cabeçalho: afxole.h