次の方法で共有


ON_MESSAGE

ユーザー定義メッセージをどの関数で処理するかを示します。

ON_MESSAGE(message, memberFxn)

パラメーター

  • message
    メッセージ ID。

  • memberFxn
    メッセージが割り当てられるメッセージ処理関数名。

    関数の型は afx_msg LRESULT (CWnd::*)(WPARAM, LPARAM) にする必要があります。

解説

ユーザー定義メッセージとは、Windows の標準の WM_MESSAGE メッセージ以外のメッセージです。メッセージ ID を選択する場合、WM_USER (0x0400) ~ 0x7FFF または WM_APP (0x8000) ~ 0xBFFF の範囲内の値を使用する必要があります。メッセージ ID の詳細については、「WM_APP」を参照してください。

メッセージハンドラー関数にマップされるすべてのユーザー定義メッセージに対して、メッセージ マップに存在する ON_MESSAGE マクロ ステートメントは 1 つだけです。

[!メモ]

ON_MESSAGE では、ユーザー定義メッセージに加えて、通常使用されない Windows メッセージも処理されます。詳細については、サポート技術情報の 99848: 情報: それほど一般的なメッセージを割り当てるには、 ON_MESSAGE ()マクロを使用します。文書を参照してください。

詳細と例については、「メッセージの処理とマップ」と「ユーザー定義のハンドラー」を参照してください。

使用例

#define WM_MYMESSAGE (WM_USER + 100)
BEGIN_MESSAGE_MAP(CMyWnd2, CWnd)
   ON_MESSAGE(WM_MYMESSAGE, OnMyMessage)
END_MESSAGE_MAP()
// inside the class declaration
 afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
LRESULT CMyWnd2::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
   UNREFERENCED_PARAMETER(wParam);
   UNREFERENCED_PARAMETER(lParam);

   // Handle message here.

   return 0;
}

必要条件

ヘッダー: afxmsg_.h

参照

関連項目

ON_UPDATE_COMMAND_UI

ON_CONTROL

ON_REGISTERED_MESSAGE

ON_COMMAND

概念

MFC マクロとグローバル