複製鏈接
請複製以下鏈接發送給好友

COleLinkingDoc

鎖定
COleLinkingDoc 類是OLE容器文檔的基類,它支持鏈接到它們所包含的嵌入項。一個支持鏈接到嵌入項的容器應用程序被稱為“鏈接容器”。示例應用程序OCLIENT就是一個鏈接容器的例子。
外文名
COleLinkingDoc
功    能
保存你的本地數據
性    質
OLE容器文檔的基類
特    點
鏈接容器的例子

目錄

COleLinkingDoc簡介

當一個鏈接項的源是另一個文檔的嵌入項時,則為了使嵌入項可以編輯,那個包容文檔必須被載入。由於這個原因,當用户想要編輯鏈接項的源時,容器程序就必須能夠由另一個容器應用程序啓動。你的應用程序也必須使用COleTemplateServer類以使它在被其它的應用程序啓動時能夠創建文檔。
為了使你的容器應用程序成為一個鏈接容器,請從COleLinkingDoc派生出你的文檔類,而不是從COleDocument派生。同處理其它任何OLE容器程序一樣,應用程序必須將自己的類設計為可存儲應用程序的本地數據以及嵌入或鏈接項。而且,你必須為保存你的本地數據設計數據結構。如果你為你的應用程序的本地數據定義了一個CDocItem派生類,你就可以使用由COleDocument定義的界面來保存你的本地數據以及OLE數據。
為了使你的應用程序能夠被另一個容器程序啓動,請定義一個COleTemplateServer對象作為你的應用程序的CWinApp派生類的成員。
class COleClientApp : public CWinApp
{
// ...
protected:
COleTemplateServer m_server;
// ...
};
在你的CWinApp派生類的成員函數InitInstance中,創建一個文檔模板並指定你的COleLinkingDoc派生類為一個文檔類:
// CMainDoc is derived from COleLinkingDoc
CMultiDocTemplate* pDocTemplate = new CMultiDocTemplate( IDR_OCLIENTTYPE,
RUNTIME_CLASS(CMainDoc),
RUNTIME_CLASS(CSplitFrame),
RUNTIME_CLASS(CMainView)
);
pDocTemplate->SetContainerInfo( IDR_OCLIENTTYPE_CNTR_IP);
AddDocTemplate(pDocTemplate);
通過調用COleTemplateServer對象的ConnectTemplate成員函數,將此COleTemplateServer對象連接到你的文檔模板,並通過調用COleTemplateServer::RegisterAll函數向OLE系統註冊所有的類對象。
m_server.ConnectTemplate(clsid, pDocTemplate, FALSE);
COleTemplateServer::RegisterAll();
CWinApp派生類的定義和InitInstance函數的示例,請參見MFC示例OCLIENT中的OCLIENT.H和OCLIENT.CPP。
如果要獲取有關使用COleLinkingDoc的更多信息,請參見“Visual C++程序員指南”一書中的文章“容器:實現一個容器”。
#include <afxole.h>
請參閲:CDocTemplate
COleLinkingDoc類成員

COleLinkingDoc構造

構造一個COleLinkingDoc對象

COleLinkingDoc操作

向OLE系統DLL註冊此文檔
撤消文檔的註冊

COleLinkingDoc可重載

OnFindEmbeddedItem
查找指定的嵌入項
OnGetLinkedItem
查找指定的鏈接項