如何在CVIEW类中,响应对话框类CDlg中的自定义消息?已在CDlg类中定义了消息WM_USERxyz:#defime WM_USERxyz  WM_USER +10
…………………………………………
void Dlgw29::OnBnClickedDay()
{
// TODO: 在此添加控件通知处理程序代码
PostMessage(WM_USERxyz); 

}想让要View类中的函数void CW29View::Day(void)响应消息 WM_USERxyz需要在View类中添加什么代码?

解决方案 »

  1.   

    视图在创建Dlgw29的时候把自己的指针或者句柄传递给对话框,对话框用成员变量保存
    void CSomeView::SumeFunc()
    {
    CDlg dlg;
    dlg.m_pView=this;
    dlg.DoModal();
    ......
    }
    之后
    void Dlgw29::OnBnClickedDay()
    {
    // TODO: 在此添加控件通知处理程序代码
    m_pView->PostMessage(WM_USERxyz); 
    或者m_pView->Day();
    }自定义的消息可以用ON_MESSAGE宏映射到函数。