次の方法で共有


COleServerDoc クラス

更新 : 2007 年 11 月

OLE サーバー ドキュメントの基本クラスです。

class AFX_NOVTABLE COleServerDoc : public COleLinkingDoc

解説

サーバー ドキュメントは COleServerItem オブジェクトを持つことができます。このオブジェクトは、埋め込みアイテムやリンク アイテムに対するサーバー インターフェイスを表します。埋め込みアイテムを編集するためにコンテナ アプリケーションからサーバー アプリケーションを起動すると、アイテムはそれ自身のサーバー ドキュメントとして読み込まれます。COleServerDoc オブジェクトには、ドキュメント全体を構成する 1 つの COleServerItem オブジェクトがあります。サーバー アプリケーションがリンク アイテムを編集するためにコンテナ アプリケーションから起動されると、既存のドキュメントがディスクから読み込まれます。リンク アイテムであることを示すため、ドキュメント内の一部分が強調表示されます。

COleServerDoc オブジェクトは、COleClientItem クラスのアイテムを持つこともできます。これにより、コンテナ サーバー アプリケーションを作成できるようになります。フレームワークには、COleServerItem オブジェクトのサービス中でも、COleClientItem アイテムを正しく格納する機能が用意されています。

サーバー アプリケーションがリンクをサポートしていないときは、サーバー ドキュメントには常に 1 つのサーバー アイテムしか持ちません。このアイテムは、埋め込みオブジェクト全体を 1 つのドキュメントとして表します。サーバー アプリケーションがリンクをサポートしている場合、選択されたものがクリップボードにコピーされるたびに、サーバー アイテムを作成する必要があります。

COleServerDoc を使うには、このクラスから新たなクラスを派生し、OnGetEmbeddedItem メンバ関数を実装します。この関数は、サーバーが埋め込みアイテムをサポートできるようにします。ドキュメント内にアイテムを実装するには、COleServerItem クラスから新たなクラスを派生し、OnGetEmbeddedItem でそのクラスのオブジェクトを返すようにします。

リンク アイテムをサポートするために、COleServerDocOnGetLinkedItem メンバ関数を用意しています。既定の実装を使うことができます。または、ドキュメント アイテムを管理する独自の手段があれば、この関数をオーバーライドすることもできます。

アプリケーションがサポートするサーバー ドキュメントのタイプごとに、1 つの COleServerDoc の派生クラスを作成する必要があります。たとえば、サーバー アプリケーションがワークシートとグラフをサポートする場合は、2 つの COleServerDoc の派生クラスが必要です。

サーバーの詳細については、「サーバー : サーバーの実装」を参照してください。

必要条件

ヘッダー : afxole.h

スマート デバイス開発者のためのメモ

このクラスは、スマート デバイス プロジェクトではサポートされません。

参照

処理手順

HIERSVR サンプル : OLE ドラッグ アンド ドロップを含むサーバー アプリケーションの例

参照

COleLinkingDoc クラス

階層図

COleDocument クラス

COleLinkingDoc クラス

COleTemplateServer クラス

その他の技術情報

COleServerDoc のメンバ