Use ON_MESSAGE() Macro to Map Less-Common MessagesID: Q99848
|
The Microsoft Foundation Class Library includes macros that an application can include in the message map of a CWnd or CWnd derived object.These macros, such as ON_WM_PAINT() and ON_WM_SIZE(), map common messages to default handler functions. The Microsoft Foundation Class Library provides macros for all standard window messages. To process user-defined message or less-common window messages (like WM_COMMNOTIFY), use the ON_MESSAGE() macro. The ON_MESSAGE macro must be used in a CWnd derived class. For example, it cannot be used in a CWinApp class or a CDocument class because neither of these classes is derived from CWnd.
Here's an example of how an application could use ON_MESSAGE:
// inside the class declaration
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);
...
#define WM_MYMESSAGE (WM_USER + 100)
BEGIN_MESSAGE_MAP(CMyWnd, CMyParentWndClass)
ON_MESSAGE(WM_MYMESSAGE, OnMyMessage)
END_MESSAGE_MAP()
LRESULT CMyWnd::OnMyMessage(WPARAM WParam, LPARAM LParam)
{
return (LRESULT)0;
}
The function specified by the second parameter of the ON_MESSAGE macro must
be a function that takes two parameters, a WPARAM and an LPARAM, and
returns a LRESULT. For more information about the ON_MESSAGE() macro, see
Technical Note #6 in the MFC Tech Notes Help file distributed with
Microsoft Visual C++ version 1.0 and in the MFC Technical Notes included
in the Visual C++ Books Online. Or search the Visual C++ Books Online on
the keyword "ON_MESSAGE."
Additional query words: kbinf 7.00 1.00 1.50 2.00 2.10 2.50 2.51 2.52 3.00 3.10 4.00
Keywords : kbnokeyword kbMFC kbVC
Version : 7.00 | 1.00 1.50 1.51 1.52 | 1
Platform : MS-DOS NT WINDOWS
Issue type :
Last Reviewed: August 2, 1999