次の方法で共有


ALT_MSG_MAP

更新 : 2007 年 11 月

代替メッセージ マップの開始位置を示します。

ALT_MSG_MAP( msgMapID )

パラメータ

  • msgMapID
    [入力] メッセージ マップ識別子。

解説

ATL は、各メッセージ マップを数値で識別します。BEGIN_MSG_MAP マクロで宣言される既定のメッセージ マップは、0 で識別されます。代替メッセージ マップは、msgMapID で識別されます。

メッセージ マップは、ウィンドウに送られたメッセージを処理するときに使用します。たとえば、CContainedWindow を使用すると、コンテナ オブジェクトにメッセージ マップの識別子を指定できます。CContainedWindow::WindowProc は、このメッセージ マップを使用して、コンテナ内のウィンドウのメッセージを適切なハンドラ関数または別のメッセージ マップに送ります。ハンドラ関数を宣言するマクロの一覧については、「BEGIN_MSG_MAP」を参照してください。

メッセージ マップは、常に BEGIN_MSG_MAP で開始します。メッセージ マップの開始後、さらに代替メッセージ マップを宣言できます。

END_MSG_MAP マクロは、メッセージ マップの終了位置を示します。BEGIN_MSG_MAPEND_MSG_MAP のインスタンスは、常に 1 つずつ存在することに注意してください。

ATL でのメッセージ マップの使い方の詳細については、「メッセージ マップ」を参照してください。

使用例

次の例は、既定のメッセージ マップと 1 つの代替メッセージ マップを示しています。各メッセージ マップには、1 つのハンドラ関数が含まれています。

BEGIN_MSG_MAP(CMyOneAltClass)
   MESSAGE_HANDLER(WM_PAINT, OnPaint)
ALT_MSG_MAP(1)
   MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
END_MSG_MAP()

次の例は、2 つの代替メッセージ マップを示しています。既定のメッセージ マップは空です。

BEGIN_MSG_MAP(CMyClass)
ALT_MSG_MAP(1)
   MESSAGE_HANDLER(WM_PAINT, OnPaint)
   MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
ALT_MSG_MAP(2)
   MESSAGE_HANDLER(WM_CREATE, OnCreate)
END_MSG_MAP()

必要条件

ヘッダー : atlwin.h

参照

参照

MESSAGE_HANDLER

CMessageMap クラス

CDynamicChain クラス

その他の技術情報

メッセージ マップ マクロ (ATL)

ATL マクロ