次の方法で共有


ALT_MSG_MAP

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

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()

必要条件

Header: atlwin.h

参照

関連項目

MESSAGE_HANDLER

CMessageMap クラス

CDynamicChain クラス

その他の技術情報

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

ATL マクロ