步骤如下:
1.在类的头文件(*.h文件)中定义消息ID
#define WM_MY_MESSAGE (WM_USER+100) //用户自定义消息
2.在类的源文件(*.cpp)的消息映射中加入消息映射
BEGIN_MESSAGE_MAP(MyDlg, CDialog)
//{{AFX_MSG_MAP(MyDlg)
......... //其它消息映射
ON_MESSAGE(WM_MY_MESSAGE, OnMYMessage) //用户自定义消息映射
......... //其它消息映射
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
3.在类的源文件(*.cpp)中加入消息响应函数
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(类名称)
......... //其它消息映射
virtual BOOL OnMYMessage(WPARAM wParam, LPARAM lParam);//用户自定义消息
......... //其它消息映射
DECLARE_EVENTSINK_MAP()
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
4.定义消息响应函数
BOOL MyDlg::OnMYMessage(WPARAM wParam, LPARAM lParam)
{
//具体处理程序
AfxMessageBox("hello! This my message");
}
5.发送消息的方法
使用PostMessage和SendMessage等函数。
6.其它相关资料
(1)关于消息映射的简单介绍可以看一下这个网址上的内容:http://www.cppblog.com/momoxiao/archive/2009/10/22/99206.html
(2)关于添加自定义消息的讨论(这个非常好!)
http://topic.youkuaiyun.com/t/20030708/10/2002395.html
(3)关于PostMessage