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_MAP と END_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