COleServerDoc クラス
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 のドラッグ アンド ドロップでのサーバー アプリケーションを示します