ACTIVEDOC サンプル : Active ドキュメント サーバーの実装

更新 : 2007 年 11 月

ACTIVEDOC サンプルでは、Active ドキュメント サーバーの実装方法の例を示します。このサンプルでは、以下の手法の例を示します。

  • IOleDocument インターフェイスと IOleDocumentView インターフェイスの実装

  • メニューとのコンテナのマージ

  • オブジェクトのツール バーの実装

  • IPersistStreamInit メソッドの Load および Save のオーバーライドによるカスタムの保存と読み込みの実行

  • CDialogImpl での [バージョン情報] ダイアログ ボックスの実装

  • リッチ テキスト エディット コントロールのサブクラス化

dssbex6h.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

このサンプル コードは概念を示す目的で提供されているものです。必ずしも最も安全なコーディング手法に従っているわけではないので、アプリケーションまたは Web サイトでは使用しないでください。Microsoft は、サンプル コードが意図しない目的で使用された場合に、付随的または間接的な損害について責任を負いません。

サンプルとそのインストール手順を取得するには

  • Visual Studio で、[ヘルプ] メニューの [サンプル] をクリックします。

    詳細については、「サンプル ファイルの格納場所」を参照してください。

  • 使用できるサンプルの最新バージョンと完全な一覧については、オンラインの Visual Studio 2008 Samples のページを参照してください。

  • サンプルは、コンピュータのハード ディスク上にもあります。既定では、サンプルおよび Readme ファイルは、\Program Files\Visual Studio 9.0\Samples\ の下のフォルダにコピーされます。Visual Studio Express Edition の場合、すべてのサンプルはオンライン上にあります。

サンプルのビルドと実行

サンプルをビルドするには

  1. ソリューション ActiveDoc.sln を開きます。

  2. [ビルド] メニューの [ソリューションのビルド] をクリックします。

Internet Explorer を使用してサンプルを実行するには

  1. 生成済みの ActiveDoc.htm ファイルまたは ActiveDoc.AAA ファイルを Internet Explorer で開きます。ActiveDoc.AAA を開くには、ファイルを開くための画面が表示されたときに [開く] をクリックします。

  2. Internet Explorer のメニュー バーにマージされた [書式] メニューを使用するか、またはツール バーの色をクリックして入力済みテキストの色を変更します。

Microsoft Office バインダーを使用してサンプルを実行するには

  1. Microsoft Office バインダーを実行し、[セクション] メニューの [追加] をクリックします。

  2. "ActiveDoc クラス" というラベルの付いたアイコンをクリックし、[OK] をクリックします。

    Office バインダーに埋め込まれているオブジェクトが表示されます。メニューがマージされ、ActiveDoc のツール バーが表示されます。テキストを入力し、メニューとツール バー ボタンを使用して、このテキストの色を変更できます。

サンプル ファイル

サンプルには、以下のメイン ファイルが含まれます。

  • ActiveCtl.h

  • ActiveCtl.cpp - ActiveDoc オブジェクト全体を表す CActiveDoc を実装します。

  • OleDocument.h - IOleDocument インターフェイスと IOleDocumentView インターフェイスの実装を含みます。

  • Toolbar.h - ツール バーの実装に使用する CToolbar を含みます。

キーワード

このサンプルでは、次のキーワードを使用します。

ActiveXDocActivate; ALT_MSG_MAP; ATLASSERT; ATLTRACE; BEGIN_COM_MAP; BEGIN_MSG_MAP; BEGIN_OBJECT_MAP; BEGIN_PROPERTY_MAP; BEGIN_TOOLBAR_MAP; CAboutDlg::DoModal; CanInPlaceActivate; CComCoClass; CComControl; CComModule::GetClassObject; CComModule::GetLockCount; CComModule::Init; CComModule::RegisterServer; CComModule::Term; CComModule::UnregisterServer; CComObjectRoot; CComObjectRootEx::InternalQueryInterface; CComPtr; CHARFORMAT; CMenu; COM_INTERFACE_ENTRY; COM_INTERFACE_ENTRY_IMPL; COMMAND_ID_HANDLER; COMMAND_RANGE_HANDLER; CreateMenu; CreateRTFWindow; CreateToolbar; CreateWindowEx; CToolbar; CWindow::DestroyWindow; CWindow::ModifyStyle; CWindow::SetFocus; CWindow::SetParent; CWindow::SetWindowPos; DECLARE_REGISTRY_RESOURCEID; DestroyMenu; DestroyToolbar; DisableThreadLibraryCalls; DllMain; DoesVerbUIActivate; EDITSTREAM::dwCookie; EDITSTREAM::dwError; EDITSTREAM::pfnCallback; Ellipse; END_COM_MAP; END_MSG_MAP; END_OBJECT_MAP; END_PROPERTY_MAP; END_TOOLBAR_MAP; EndDialog; ExtTextOut; FreeLibrary; GetMenuItemCount; GetMenuItemID; GetMenuState; GetMenuString; GetResourceInstance; GetStockObject; GetSubMenu; GetTextMetrics; GetWindow; GetWindowContext; GetWindowRect; HDC; hdcDraw;; IDataObjectImpl; IDispatchImpl; InitCommonControls; InlineIsEqualGUID; InPlaceDeactivate; InPlaceMenuCreate; InPlaceMenuDestroy; InsertMenu; InterfaceSupportsErrorInfo; InternalQueryInterface; IOleControlImpl; IOleDocument::GetDocMiscStatus; IOleDocumentImpl; IOleDocumentView::ApplyViewState; IOleDocumentView::SetInPlaceSite; IOleDocumentViewImpl; IOleInPlaceActiveObjectImpl; IOleInPlaceFrame*   pFrame;; IOleInPlaceFrame::InsertMenus; IOleInPlaceFrame::Release; IOleInPlaceFrame::SetMenu; IOleInPlaceObjectWindowlessImpl; IOLEInPlaceSite::GetWindowContext; IOleObjectImpl; IPersistStorageImpl; IPersistStreamInitImpl; IProvideClassInfo2Impl; IQuickActivateImpl; ISupportErrorImpl; IViewObjectExImpl; LoadLibrary; LoadMenu; LoadString; MAKEINTRESOURCE; MergeMenus; MESSAGE_HANDLER; NOTIFY_CODE_HANDLER; OBJECT_ENTRY; OleCreateMenuDescriptor; OLEINPLACEFRAMEINFO; OnInPlaceActivate; OnUIActivate; prcBounds; RECT rcPos, rcClip;; RemoveMenu; SelectObject; SendMessage; SetActiveObject; SetBkMode; SetBorderSpace; SetControlFocus; SetFocus; SetInPlaceSite; SetMenu; SetObjectRects; SetTextColor; ShowObject; ShowWindow; UIActivate; UIDeactivate; UnmergeMenus; ZeroMemory

参照

その他の技術情報

ATL サンプル