void CMyDlg::OnButton1() 
{
// TODO: Add your control notification handler code here
GetDlgItem(IDC_BUTTON2)->SendMessage(WM_COMMAND,MAKEWPARAM(BN_CLICKED,IDC_BUTTON2),0); 
}void CMyDlg::OnButton2() 
{
// TODO: Add your control notification handler code here
MessageBox("2");
}

解决方案 »

  1.   

    ::SendMessage(m_hWnd,WM_COMMAND,MAKEWPARAM(IDC_BUTTON2,BN_CLICKED),0); 
      

  2.   

    或者SendMessage(WM_COMMAND,MAKEWPARAM(IDC_BUTTON2,BN_CLICKED),0); 
      

  3.   

    SendMessage(WM_COMMAND,((WPARAM)BN_CLICKED)<<8|(WPARAM)IDC_BUTTON,0L);   
      

  4.   

    按钮的click消息通常是发给父窗口处理的,按钮本身并不处理这种消息
      

  5.   

    ::SendMessage(GetDlgItem(IDC_BUTTON2)->GetSafeHwnd(),WM_LBUTTONDOWN,0,0);   
      

  6.   

    GetDlgItem(IDC_BUTTON2)->SendMessage(BM_CLICK, 0, 0);
      

  7.   

    汗 我把句柄 搞混了
    void CMyDlg::OnButton1() 
    {
    // TODO: Add your control notification handler code here
    ::SendMessage(m_hWnd,WM_COMMAND,MAKEWPARAM(IDC_BUTTON2,BN_CLICKED),0); 
    }void CMyDlg::OnButton2() 
    {
    // TODO: Add your control notification handler code here
    MessageBox("2");
    }
      

  8.   

    在同一个对话框类中要发什么消息啊,直接调用OnButtoh2不就行了,另外上面有人说了WM_COMMAND是按钮发给父窗口的,你就是想冒充别的按钮,接收消息的也应该是父窗口啊