COleLinkingDoc クラス
OLE コンテナー ドキュメントの基本クラスです。OLE コンテナー ドキュメントは、ドキュメントが保持する埋め込みアイテムへのリンクをサポートします。
class COleLinkingDoc : public COleDocument
メンバー
パブリック コンストラクター
名前 |
説明 |
---|---|
COleLinkingDoc オブジェクトを構築します。 |
パブリック メソッド
名前 |
説明 |
---|---|
OLE システム DLL のドキュメントを登録します。 |
|
ドキュメントの登録を取り消します。 |
プロテクト メソッド
名前 |
説明 |
---|---|
指定された埋め込みアイテムを検索します。 |
|
指定したリンク アイテムを検索します。 |
解説
埋め込みアイテムへのリンクをサポートするコンテナー アプリケーションは「リンク コンテナーと呼ばれます」。OCLIENT サンプル アプリケーションはリンク コンテナーの一例です。
リンクされた成果物のソースが別のドキュメントの埋め込みアイテムの場合、その含むドキュメントは編集する埋め込みアイテムに読み込む必要があります。したがって、リンク コンテナーは、ユーザーがリンク項目のソースを編集する場合、別のコンテナー アプリケーションが起動する必要があります。また、アプリケーションは、プログラムで起動時に文書を作成できるように COleTemplateServer のクラスを使用する必要があります。
、コンテナーにリンク コンテナーを行うには、COleDocumentの代わりに COleLinkingDoc からドキュメント クラスを派生します。他の OLE コンテナーによって同様に、アプリケーションのネイティブ データ、または埋め込みまたはリンクされた項目を格納する、クラスをデザインする必要があります。または、でネイティブ データを格納するためのデータ構造をデザインする必要があります。- CDocItem、ネイティブ データの派生クラス定義は、ネイティブ データは、OLE データを格納するために COleDocument で定義されているインターフェイスを使用できます。
アプリケーションが別のコンテナーがプログラムで起動するようにアプリケーションの CWinApp派生クラスのメンバーとして COleTemplateServer のオブジェクトを宣言する:
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);
、のドキュメント テンプレートへの COleTemplateServer のオブジェクトをオブジェクトの ConnectTemplate のメンバー関数を呼び出して、接続し、COleTemplateServer::RegisterAllを呼び出して、OLE システムにあるすべてのクラス オブジェクトを登録する:
m_server.ConnectTemplate(clsid, pDocTemplate, FALSE);
COleTemplateServer::RegisterAll();
サンプル CWinAppのは派生クラスの定義と InitInstance 関数は、MFC サンプル OCLIENTの OCLIENT.H と OCLIENT.CPP が表示されます。
COleLinkingDocの使用の詳細については、" " コンテナー: コンテナーの実装 と コンテナー: 高度な機能を参照してください。
継承階層
COleLinkingDoc
必要条件
Header: afxole.h