我的mfc 程序有两个对话框,我在一个对话框上创建了一个按扭消息响应函数,然后我想点击另外一个对话框的菜单项也能进入这个函数,菜单是CWinpcapDlg里的,按扭是CSettingDlg类里的,现在按扭的消息响应函数我已经写好了,现在就是怎么添加点功能使点击菜单也能调用这样一个消息响应函数,谢谢!!!我是这样写的, 
#define WM_MENUSEND WM_USER+3 
void CWinpcapDlg::OnStartCapture_Menu()//菜单消息响应函数  
{      ::PostMessage(m_temphwnd, WM_MENUSEND, 0, (LPARAM)0); } 然后 
afx_msg void OnMenuSend(WPARAM wParam, LPARAM lParam); 
ON_MESSAGE(WM_MENUSEND, OnMenuSend) 
void CSettingDlg::OnMenuSend(WPARAM wParam, LPARAM lParam) 

AfxMessageBox("hehe"); 
OnStartCapature();//按扭消息响应函数 
} 可就是进入不了OnMenuSend()函数,什么原因啊

解决方案 »

  1.   

    ::PostMessage(m_temphwnd, WM_MENUSEND, 0, (LPARAM)0);  
    ===================
    你检查一下m_temphwnd是不是正确的值.
      

  2.   

    CWnd *p = AfxGetApp()->m_pMainWnd; //得到应用程序的主窗口的指针
        CWinpcapDlg *pdlg = (CWinpcapDlg *)p;
    pdlg->m_temphwnd = m_hWnd;//把CSettingDlg的窗口句柄传给主对话框,我是这样得到的,正确的啊,前面用过的
      

  3.   

    void CWinpcapDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
    {
         ::PostMessage(m_temphwnd, WM_MENUSEND, 0, (LPARAM)0);}
    我把它放在这个里面就能进入相应的消息响应函数,是什么原因,是我的void CWinpcapDlg::OnStartCapture_Menu()//菜单消息响应函数 写错了,还是菜单消息响应函数里不能用这个函数,