程序中需要动态生成对话框,同时需要在此动态生成对话框动态生成一个按钮,请问如何添加消息响应?

解决方案 »

  1.   

    生成按钮的时候可以设置按钮ID,
    到时候根据按钮ID,就跟从向导产生的代码一样设置了
      

  2.   

    对,主要是生成按钮时设置的按钮ID,根据ID再对按钮进行各种操作就可以了。
      

  3.   

    #define IDC_BUTTON1 10001CButton m_button; // 定义成员函数
    afx_msg void OnButton(); // 按钮点击相应函数//创建按钮
    if(!m_button.GetSafeHwnd())
    {
    m_button.Create(_T("BUTTON"), WS_VISIBLE|WS_CHILD, CRect(0, 0, 100, 22), this, IDC_BUTTON1);
    }BEGIN_MESSAGE_MAP(...)...
    ON_BN_CLICKED(IDC_BUTTON1, OnButton)
    END_MESSAGE_MAP()void CXXDlg::OnButton()
    {
     AfxMessageBox(_T("Hello,World!"));
    }
      

  4.   

    VisualEleven
    真是好人啊,
    顶一个
      

  5.   

    也可以从CButton类派生自己的类CMyButton,然后给CMyButton添加消息反射:
    ON_CONTROL_REFLECT(BN_CLICKED, OnClicked)
    并给每个CMyButton类对象传递不同的参数,在OnClicked中根据参数的不同处理“点击”事件
    消息反射相关http://blog.csdn.net/lvjianchao/archive/2009/12/18/5033984.aspx