Classe COleLinkingDoc
La classe base per i documenti del contenitore OLE che supportano l'accesso agli elementi incorporati contengono.
class COleLinkingDoc : public COleDocument
Membri
Costruttori pubblici
Nome |
Descrizione |
---|---|
Costruisce un oggetto COleLinkingDoc. |
Metodi pubblici
Nome |
Descrizione |
---|---|
Registra il documento con le DLL di sistema OLE. |
|
Revoca la registrazione del documento. |
Metodi protetti
Nome |
Descrizione |
---|---|
Trova l'elemento incorporato specificato. |
|
Trovare l'elemento collegato specificato. |
Note
Un'applicazione contenitore che supporta il collegamento agli elementi incorporati è denominata "un contenitore di collegamento". L'applicazione di esempio OCLIENT è un esempio di un contenitore di collegamento.
Quando l'origine di un elemento collegato a un elemento incorporato in un altro documento, il documento che deve essere caricato in modo che l'elemento incorporato da modificare. Per questo motivo, un contenitore di collegamento deve poter essere avviato da un'altra applicazione contenitore quando l'utente desidera modificare l'origine di un elemento collegato. L'applicazione deve utilizzare la classe COleTemplateServer in modo da poter creare documenti una volta avviata a livello di codice.
Per rendere al contenitore un contenitore di collegamento, derivare la classe del documento da COleLinkingDoc anziché COleDocument. Come con qualsiasi altro contenitore OLE, è necessario progettare la classe per archiviare i dati nativi dell'applicazione nonché incorporato o elementi collegati. Inoltre, è necessario progettare le strutture di dati per archiviare i dati nativi. Se si definisce CDocItemnella classe derivata da per i dati nativi dell'applicazione, è possibile utilizzare l'interfaccia definita da COleDocument per memorizzare i dati nativi nonché i dati OLE.
Per consentire l'applicazione essere avviato a livello di codice da un altro contenitore, dichiarare un oggetto COleTemplateServer come membro CWinAppdell'applicazione classe derivata:
class COleContainerApp : public CWinApp
{
protected:
COleTemplateServer m_server;
// remainder of class declaration ommitted
Nella funzione membro del CWinAppclasse derivata InitInstance, creare un modello di documento e specificare il COleLinkingDocclasse derivata dalla classe del 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);
Connettere l'oggetto COleTemplateServer ai modelli di documento chiamando la funzione membro ConnectTemplate dell'oggetto e registrare tutti gli oggetti della classe con il sistema OLE chiamando COleTemplateServer::RegisterAll:
m_server.ConnectTemplate(clsid, pDocTemplate, FALSE);
COleTemplateServer::RegisterAll();
Per un esempio CWinAppalla definizione della classe derivata e la funzione InitInstance, vedere OCLIENT.H e OCLIENT.CPP nell'esempio OCLIENTMFC.
Per ulteriori informazioni su l COleLinkingDoc, vedere gli articoli contenitori: implementare un contenitore e contenitori: funzionalità avanzate.
Gerarchia di ereditarietà
COleLinkingDoc
Requisiti
Header: afxole.h