ACTIVEDOC サンプル : Active ドキュメント サーバーの実装
更新 : 2007 年 11 月
ACTIVEDOC サンプルでは、Active ドキュメント サーバーの実装方法の例を示します。このサンプルでは、以下の手法の例を示します。
IOleDocument インターフェイスと IOleDocumentView インターフェイスの実装
メニューとのコンテナのマージ
オブジェクトのツール バーの実装
IPersistStreamInit メソッドの Load および Save のオーバーライドによるカスタムの保存と読み込みの実行
CDialogImpl での [バージョン情報] ダイアログ ボックスの実装
リッチ テキスト エディット コントロールのサブクラス化
セキュリティに関するメモ : |
---|
このサンプル コードは概念を示す目的で提供されているものです。必ずしも最も安全なコーディング手法に従っているわけではないので、アプリケーションまたは Web サイトでは使用しないでください。Microsoft は、サンプル コードが意図しない目的で使用された場合に、付随的または間接的な損害について責任を負いません。 |
サンプルとそのインストール手順を取得するには
Visual Studio で、[ヘルプ] メニューの [サンプル] をクリックします。
詳細については、「サンプル ファイルの格納場所」を参照してください。
使用できるサンプルの最新バージョンと完全な一覧については、オンラインの Visual Studio 2008 Samples のページを参照してください。
サンプルは、コンピュータのハード ディスク上にもあります。既定では、サンプルおよび Readme ファイルは、\Program Files\Visual Studio 9.0\Samples\ の下のフォルダにコピーされます。Visual Studio Express Edition の場合、すべてのサンプルはオンライン上にあります。
サンプルのビルドと実行
サンプルをビルドするには
ソリューション ActiveDoc.sln を開きます。
[ビルド] メニューの [ソリューションのビルド] をクリックします。
Internet Explorer を使用してサンプルを実行するには
生成済みの ActiveDoc.htm ファイルまたは ActiveDoc.AAA ファイルを Internet Explorer で開きます。ActiveDoc.AAA を開くには、ファイルを開くための画面が表示されたときに [開く] をクリックします。
Internet Explorer のメニュー バーにマージされた [書式] メニューを使用するか、またはツール バーの色をクリックして入力済みテキストの色を変更します。
Microsoft Office バインダーを使用してサンプルを実行するには
Microsoft Office バインダーを実行し、[セクション] メニューの [追加] をクリックします。
"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