ON_MESSAGE
Indicates which function will handle a user-defined message.
Syntax
ON_MESSAGE(
message
,
memberFxn
)
Parameters
message
The message ID.memberFxn
The name of the message-handler function to which the message is mapped.The type of the function must be afx_msg LRESULT (CWnd::*)(WPARAM, LPARAM).
Remarks
User-defined messages are any messages that are not standard Windows WM_MESSAGE messages. When selecting a message ID, you must use values within the range of WM_USER (0x0400) to 0x7FFF or WM_APP (0x8000) to 0xBFFF. For more information regarding message IDs, see WM_APP.
There should be exactly one ON_MESSAGE macro statement in your message map for every user-defined message that must be mapped to a message-handler function.
Note
In addition to user-defined messages, ON_MESSAGE handles less common Windows messages. For more information, see Knowledge Base article 99848: INFO: Use ON_MESSAGE() Macro to Map Less-Common Messages.
For more information and examples, see Message Handling and Mapping Topics and User-Defined Handlers
Example
#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;
}
Requirements
Header: afxmsg_.h
See Also
MFC Macros and Globals
ON_UPDATE_COMMAND_UI
ON_CONTROL
ON_REGISTERED_MESSAGE
ON_COMMAND