次の方法で共有


COleLinkingDoc クラス

OLE コンテナー ドキュメントの基本クラスです。OLE コンテナー ドキュメントは、ドキュメントが保持する埋め込みアイテムへのリンクをサポートします。

class COleLinkingDoc : public COleDocument

メンバー

zz0aa7az.collapse_all(ja-jp,VS.110).gifパブリック コンストラクター

名前

説明

COleLinkingDoc::COleLinkingDoc

COleLinkingDoc オブジェクトを構築します。

zz0aa7az.collapse_all(ja-jp,VS.110).gifパブリック メソッド

名前

説明

COleLinkingDoc::Register

OLE システム DLL のドキュメントを登録します。

COleLinkingDoc::Revoke

ドキュメントの登録を取り消します。

zz0aa7az.collapse_all(ja-jp,VS.110).gifプロテクト メソッド

名前

説明

COleLinkingDoc::OnFindEmbeddedItem

指定された埋め込みアイテムを検索します。

COleLinkingDoc::OnGetLinkedItem

指定したリンク アイテムを検索します。

解説

埋め込みアイテムへのリンクをサポートするコンテナー アプリケーションは「リンク コンテナーと呼ばれます」。OCLIENT サンプル アプリケーションはリンク コンテナーの一例です。

リンクされた成果物のソースが別のドキュメントの埋め込みアイテムの場合、その含むドキュメントは編集する埋め込みアイテムに読み込む必要があります。したがって、リンク コンテナーは、ユーザーがリンク項目のソースを編集する場合、別のコンテナー アプリケーションが起動する必要があります。また、アプリケーションは、プログラムで起動時に文書を作成できるように COleTemplateServer のクラスを使用する必要があります。

、コンテナーにリンク コンテナーを行うには、COleDocumentの代わりに COleLinkingDoc からドキュメント クラスを派生します。他の OLE コンテナーによって同様に、アプリケーションのネイティブ データ、または埋め込みまたはリンクされた項目を格納する、クラスをデザインする必要があります。または、でネイティブ データを格納するためのデータ構造をデザインする必要があります。- CDocItem、ネイティブ データの派生クラス定義は、ネイティブ データは、OLE データを格納するために COleDocument で定義されているインターフェイスを使用できます。

アプリケーションが別のコンテナーがプログラムで起動するようにアプリケーションの CWinApp派生クラスのメンバーとして COleTemplateServer のオブジェクトを宣言する:

class COleContainerApp : public CWinApp
{
protected:
   COleTemplateServer m_server;
   // remainder of class declaration ommitted

自分の CWinAppInitInstance のメンバー関数の派生クラス、ドキュメント テンプレートを作成し、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);

、のドキュメント テンプレートへの COleTemplateServer のオブジェクトをオブジェクトの ConnectTemplate のメンバー関数を呼び出して、接続し、COleTemplateServer::RegisterAllを呼び出して、OLE システムにあるすべてのクラス オブジェクトを登録する:

m_server.ConnectTemplate(clsid, pDocTemplate, FALSE);
COleTemplateServer::RegisterAll();

サンプル CWinAppのは派生クラスの定義と InitInstance 関数は、MFC サンプル OCLIENTの OCLIENT.H と OCLIENT.CPP が表示されます。

COleLinkingDocの使用の詳細については、" " コンテナー: コンテナーの実装コンテナー: 高度な機能を参照してください。

継承階層

CObject

CCmdTarget

CDocument

COleDocument

COleLinkingDoc

必要条件

Header: afxole.h

参照

関連項目

COleDocument クラス

階層図

CDocTemplate クラス

概念

MFC の OCLIENT サンプル