COleServerDoc クラス
更新 : 2007 年 11 月
OLE サーバー ドキュメントの基本クラスです。
class AFX_NOVTABLE COleServerDoc : public COleLinkingDoc
解説
サーバー ドキュメントは COleServerItem オブジェクトを持つことができます。このオブジェクトは、埋め込みアイテムやリンク アイテムに対するサーバー インターフェイスを表します。埋め込みアイテムを編集するためにコンテナ アプリケーションからサーバー アプリケーションを起動すると、アイテムはそれ自身のサーバー ドキュメントとして読み込まれます。COleServerDoc オブジェクトには、ドキュメント全体を構成する 1 つの COleServerItem オブジェクトがあります。サーバー アプリケーションがリンク アイテムを編集するためにコンテナ アプリケーションから起動されると、既存のドキュメントがディスクから読み込まれます。リンク アイテムであることを示すため、ドキュメント内の一部分が強調表示されます。
COleServerDoc オブジェクトは、COleClientItem クラスのアイテムを持つこともできます。これにより、コンテナ サーバー アプリケーションを作成できるようになります。フレームワークには、COleServerItem オブジェクトのサービス中でも、COleClientItem アイテムを正しく格納する機能が用意されています。
サーバー アプリケーションがリンクをサポートしていないときは、サーバー ドキュメントには常に 1 つのサーバー アイテムしか持ちません。このアイテムは、埋め込みオブジェクト全体を 1 つのドキュメントとして表します。サーバー アプリケーションがリンクをサポートしている場合、選択されたものがクリップボードにコピーされるたびに、サーバー アイテムを作成する必要があります。
COleServerDoc を使うには、このクラスから新たなクラスを派生し、OnGetEmbeddedItem メンバ関数を実装します。この関数は、サーバーが埋め込みアイテムをサポートできるようにします。ドキュメント内にアイテムを実装するには、COleServerItem クラスから新たなクラスを派生し、OnGetEmbeddedItem でそのクラスのオブジェクトを返すようにします。
リンク アイテムをサポートするために、COleServerDoc は OnGetLinkedItem メンバ関数を用意しています。既定の実装を使うことができます。または、ドキュメント アイテムを管理する独自の手段があれば、この関数をオーバーライドすることもできます。
アプリケーションがサポートするサーバー ドキュメントのタイプごとに、1 つの COleServerDoc の派生クラスを作成する必要があります。たとえば、サーバー アプリケーションがワークシートとグラフをサポートする場合は、2 つの COleServerDoc の派生クラスが必要です。
サーバーの詳細については、「サーバー : サーバーの実装」を参照してください。
必要条件
ヘッダー : afxole.h
スマート デバイス開発者のためのメモ
このクラスは、スマート デバイス プロジェクトではサポートされません。
参照
処理手順
HIERSVR サンプル : OLE ドラッグ アンド ドロップを含むサーバー アプリケーションの例