COleLinkingDoc 類別
支援連結與內嵌項目的 OLE 容器文件的基底類別及內容。
class COleLinkingDoc : public COleDocument
成員
公用建構函式
名稱 |
描述 |
---|---|
建構 COleLinkingDoc 物件。 |
公用方法
名稱 |
描述 |
---|---|
註冊具有 OLE 系統 DLL 的文件。 |
|
移除文件的註冊。 |
受保護的方法
名稱 |
描述 |
---|---|
尋找指定的內嵌項目。 |
|
尋找指定之連接的項目。 |
備註
支援連結與內嵌項目稱為「連結容器的容器應用程式」。OCLIENT 範例應用程式是連結容器的範例。
當連結之項目的來源是在另一份文件中的內嵌項目,必須載入這個所包含的檔案才能編輯內嵌項目。因此,在中,當使用者想要編輯連結之項目的來源時,連結容器必須能夠由另一個容器應用程式啟動。您的應用程式也必須使用 COleTemplateServer 類別,以建立文件,同時啟動的方式。
若要將您的容器連結容器,從 COleLinkingDoc 衍生您的文件類別而不是 COleDocument。與其他 OLE 容器,您必須自行設計儲存應用程式的原生資料和內嵌或連結的項目類別。此外,您也必須設計儲存您的原生資料結構。如果您定義 CDocItem-應用程式的原生資料 (Native Data) 的衍生類別,您可以使用 COleDocument 定義介面儲存原生資料以及您可用的資料。
若要讓您的應用程式都是由其他容器所啟動的方式,請宣告 COleTemplateServer 物件做為應用程式的 CWinApp成員的衍生類別:
class COleContainerApp : public CWinApp
{
protected:
COleTemplateServer m_server;
// remainder of class declaration ommitted
在您的 CWinApp的 InitInstance 成員函式的衍生類別,建立文件範本並指定您的 COleLinkingDoc衍生類別,文件類別:
// 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);
藉由呼叫物件的 ConnectTemplate 成員函式連接至您的文件範本的 COleTemplateServer 物件,並呼叫 COleTemplateServer::RegisterAll註冊具有 OLE 系統中所有類別的物件:
m_server.ConnectTemplate(clsid, pDocTemplate, FALSE);
COleTemplateServer::RegisterAll();
如需範例 CWinApp衍生類別定義和 InitInstance 生效,請參閱 OCLIENT.H 和 OCLIENT.CPP 在 MFC 範例 OCLIENT。
如需使用 COleLinkingDoc的相關資訊,請參閱 Microsoft 知識庫文件 容器:實作容器 和 容器:進階功能。
繼承階層架構
COleLinkingDoc
需求
Header: afxole.h