1、定义一个宏 (用户自定义消息从WM_USER开始)
#define WM_XXXXX WM_USER+数值
2、声明一个函数并实现
afx_msg LRESULT OnXXXXX( WPARAM wParam, LPARAM lParam);
3、关联宏和函数
BEGIN_MESSAGE_MAP(CWlsNetMp3PlayerClientDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BTN_PLAY, &CWlsNetMp3PlayerClientDlg::OnBnClickedBtnPlay)
ON_BN_CLICKED(IDC_BTN_PAUSE, &CWlsNetMp3PlayerClientDlg::OnBnClickedBtnPause)
ON_BN_CLICKED(IDC_BTN_STOP, &CWlsNetMp3PlayerClientDlg::OnBnClickedBtnStop)
ON_MESSAGE(WM_XXXXX,OnXXXXX)
ON_NOTIFY(NM_CLICK, IDC_LIST_MP3_TABLE, &CWlsNetMp3PlayerClientDlg::OnClickListMp3Table)
END_MESSAGE_MAP()
在这个例子中使用的是
ON_MESSAGE(WM_XXXXX,OnXXXXX)
实际上,针对不同的情况有不同的宏。
下面是MSDN上的英文资料(原文链接:http://msdn.microsoft.com/zh-cn/library/s9k6yh5b%28v=vs.100%29.aspx),
我会另外写个博客翻译一下(该翻译文章链接:http://blog.****.net/wlsgzl/article/details/18866853)。