
COleLinkingDocクラスに含まれる埋め込みアイテムへのリンクをサポートする OLE コンテナー ドキュメントの基本クラスです。埋め込みアイテムへのリンクをサポートするコンテナー アプリケーションは「リンク コンテナー」と呼ばれる サンプル アプリケーションOCLIENTは、リンク コンテナーの例。
リンク アイテムのソースが別のドキュメントの埋め込みアイテムの場合は、順番に編集するのには、埋め込みアイテムを含むドキュメントを読み込む必要があります。このため、リンク コンテナー、ユーザーがリンク アイテムのソースを編集するとき別のコンテナー アプリケーションで起動することができる必要があります。それはプログラムの起動時のドキュメントを作成できるように、アプリケーションもCOleTemplateServerクラスを使用する必要があります。
リンク コンテナーをコンテナーを作成するには、 COleDocumentの代わりにCOleLinkingDocからドキュメント クラスを派生します。ほかの OLE コンテナーと、アプリケーションのネイティブ データとして埋め込みまたはリンクされたアイテムを格納するクラスを設計する必要があります。また、ネイティブ データを格納するデータ構造を設計する必要があります。CDocItemを定義する場合は-あなたのアプリケーションがネイティブのクラスを派生データ、使用できるCOleDocumentによって定義されたインターフェイス、OLE データと同様に、ネイティブのデータを格納するには。
プログラムで別のコンテナーによって起動するアプリケーションを許可するには、 COleTemplateServerオブジェクトは、アプリケーションのCWinAppのメンバとして宣言-派生クラス:
cOleClientApp クラス: パブリック CWinApp{// ...保護。COleTemplateServer m_server;// ...}
あなたのCWinAppのInitInstanceメンバー関数で-派生クラス、ドキュメント テンプレートを作成し、 COleLinkingDocを指定-ドキュメント クラスとしてクラスを派生:
//CMainDoc COleLinkingDoc から派生それ ※ pDocTemplate = 新しいそれ (IDR_OCLIENTTYPE、特価;RUNTIME_CLASS(CMainDoc)、RUNTIME_CLASS(CSplitFrame)、RUNTIME_CLASS(CMainView));pDocTemplate - > SetContainerInfo (IDR_OCLIENTTYPE_CNTR_IP);AddDocTemplate(pDocTemplate)
オブジェクトのConnectTemplateメンバー関数を呼び出して、ドキュメント テンプレートにCOleTemplateServerオブジェクトを接続し、すべてのクラス オブジェクトを OLE システムCOleTemplateServer::RegisterAllを呼び出すことによって登録
m_server。ConnectTemplate (clsid、pDocTemplate、FALSE);COleTemplateServer::RegisterAll()
サンプルCWinApp-派生クラス定義、 InitInstance関数、OCLIENT を参照してください。H および OCLIENT。MFC サンプルの CPP OCLIENT。
COleLinkingDocを使用しての詳細についてを参照してください コンテナー: コンテナーの実装と コンテナー: 高度な機能でVisual の C++ プログラマのガイド。
#include lt;afxole.h>
サンプル特価; MFC サンプル OCLIENT(&N)
参照特価;CDocTemplate(&N)