次の方法で共有


ATLEventHandling サンプル:IDispEventImpl および IDispEventSimpleImpl を使用して Word のイベントを処理します。

ATLEventHandling サンプルでは、IDispEventImplIDispEventSimpleImpl を使用して、Microsoft Word で発生したイベントを処理する方法を示します。

2 つの COM クラスを含む ATL プロジェクトのサンプルに含まれています。CSimple および CNotSoSimple これらのクラスが発生した変更イベントを記録するための応答をメッセージ ボックスを表示する COM オブジェクトを表します。 CSimple ATL の IDispEventSimpleImpl クラス テンプレートを使用してイベントを処理する方法について説明し、 CNotSoSimpleIDispEventImpl の ATL のクラス テンプレートを使用してイベントを処理する方法について説明します。 2 つのクラスのコードは、異なる ATL テンプレートを使用することで生じる違いを除いて同一です。

セキュリティに関するメモセキュリティに関するメモ

このサンプル コードは概念を示すためのものであり、その概念に関連するコードのみを示しています。特定の環境について必ずしもセキュリティ要件を満たしていませんので、そのまま使用しないでください。セキュリティおよびエラー処理コードを追加して、プロジェクトをより安全かつ堅牢にすることをお勧めします。これらのサンプル コードは、現状有姿のままで提供されるものであり、一切保証されていません。

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

Visual Studio のサンプルにアクセスするには

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

    既定では、これらのサンプルは drive:\Program Files\Microsoft Visual Studio 10.0\Samples\ にインストールされています。

  • このサンプルの最新版および他のサンプルの一覧については、MSDN Web サイト上で Visual Studio サンプル 」を参照してください。

サンプルのビルドと実行

注意

このサンプルを使用するには、Microsoft Office 2000 がインストールされている必要があります。ほかのバージョンの Microsoft Office でこのサンプルを使用する場合は、ATLEventHandling ディレクトリの StdAfx.h ファイルで参照される mso dll ファイルのパスを指定してください。たとえば、Office 2000 では mso9.dll を使用し、Office XP では mso.dll を使用します。

このサンプルをビルドして実行するには

  1. ソリューション ファイル ATLEventHandling.sln を開きます。

  2. Excel 2000 を使用している場合は、StdAfx.h 内の次の行を変更します。

    #define OFFICE_VER OFFICEXP
    

    次のように変更してください。

    #define OFFICE_VER OFFICE2000
    
  3. From the Build menu, click Build Solution.

  4. MFCClient.exe を実行します。

ドロップダウン リストのあるダイアログ ボックスが表示されます。このダイアログ ボックスで、IDispEventImpl または IDispEventSimpleImpl を使用してテストを実行できます。 これらのアイテムのいずれかを選択し、[Start] ボタンをクリックします。 Microsoft Word がコンピューターにインストールされている場合は、アクティブな文書が変更されるたびに、新規インスタンスが読み込まれ、テスト コンポーネントが Word から送られたイベントの受信を開始します。

Word の [ウィンドウ] メニューを使用して、新規文書の作成、文書の読み込み、または別の文書への切り替えを行うことにより、イベントを発生させることができます。 文書が変更されるたびに、イベントを受信しているコンポーネントおよび新規にアクティブになった文書の名前を示すメッセージ ボックスが表示されます。 MFCClient ダイアログ ボックスで、ドロップダウン リストの選択範囲を変更するか Word を閉じる停止 ) を使用して、Word のインスタンスからイベント ハンドラーを切断することができます。

OK キャンセル コマンド ボタン、または 閉じるボタンをダイアログ ボックスを使用して、サンプル アプリケーションを閉じます。

Keywords

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

_ATL_FUNC_INFO , BEGIN_SINK_MAP, END_SINK_MAP, SINK_ENTRY_EX, SINK_ENTRY_INFO, IDispEventImpl, IDispEventSimpleImpl, IDispEventSimpleImpl::DispEventAdvise, IDispEventSimpleImpl::DispEventUnadvise

参照

その他の技術情報

ATL サンプル