Message Map Macros (MFC)
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Message Map Macros (MFC).
To support message maps, MFC supplies the following macros:
Message-Map Declaration and Demarcation Macros
DECLARE_MESSAGE_MAP | Declares that a message map will be used in a class to map messages to functions (must be used in the class declaration). |
BEGIN_MESSAGE_MAP | Begins the definition of a message map (must be used in the class implementation). |
END_MESSAGE_MAP | Ends the definition of a message map (must be used in the class implementation). |
Message-Mapping Macros
ON_COMMAND | Indicates which function will handle a specified command message. |
ON_CONTROL | Indicates which function will handle a specified control-notification message. |
ON_MESSAGE | Indicates which function will handle a user-defined message. |
ON_OLECMD | Indicates which function will handle a menu command from a DocObject or its container. |
ON_REGISTERED_MESSAGE | Indicates which function will handle a registered user-defined message. |
ON_REGISTERED_THREAD_MESSAGE | Indicates which function will handle a registered user-defined message when you have a CWinThread class. |
ON_THREAD_MESSAGE | Indicates which function will handle a user-defined message when you have a CWinThread class. |
ON_UPDATE_COMMAND_UI | Indicates which function will handle a specified user-interface update command message. |
Message-Map Range Macros
ON_COMMAND_RANGE | Indicates which function will handle the range of command IDs specified in the first two parameters to the macro. |
ON_UPDATE_COMMAND_UI_RANGE | Indicates which update handler will handle the range of command IDs specified in the first two parameters to the macro. |
ON_CONTROL_RANGE | Indicates which function will handle notifications from the range of control IDs specified in the second and third parameters to the macro. The first parameter is a control-notification message, such as BN_CLICKED. |
For more information on message maps, the message-map declaration and demarcation macros, and the message-mapping macros, see Message Maps and Message Handling and Mapping Topics. For more information about message-map ranges, see Handlers for Message-Map Ranges.