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