基于对话框的mfc应用程序,在一个对话框a的按钮上生成另一个对话框b,在b上点击按钮调用a中的按钮的消息响应函数,具体是怎么做的,我这样做的

第一步要声明消息:
#define WM_MYMSG WM_USER+8
第二步要在类声明中声明消息映射:
DECLARE_MESSAGE_MAP()
第三步要在类声明中定义消息处理函数:
afx_msg LRESULT MyMsgHandler(WPARAM,LPARAM);
在.cpp中做的工作:
第四步要实现消息映射:
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
ON_MESSAGE(WM_MYMSG,OnMyMsgHandler)
END_MESSAGE_MAP()
第五步要实现消息处理函数(当然可以不实现):
LRESULT CMainFrame::OnMyMsgHandler(WPARAM w,LPARAM l)
{
AfxMessageBox("Hello,World!");
return 0;
}
在引发或发出消息的地方只用写上:
::SendMessge(::AfxGetMainWnd()->m_hWnd,WM_MYMSG,0,0);

网上说在cmainframe中实现可以,在自定义类要自己改,但是我改了出现野指针,求高手指点我