现在的问题在于:
1 能设置一组Button(id不同但连续)的消息响应
2 在响应消息的函数中,能区别一组(若干个)同类的Button的ID。

解决方案 »

  1.   

    要响应WM消息,需要有窗体。因此,你在用CWnd::Create或::Create创建按钮时,如果要响应WM,应该创建你自己的按钮类,继承于CButton
      

  2.   

    采用消息映射宏ON_CONTROL或者ON_CONTROL_RANGE(针对ID连续的控件)#define IDC_BUTTON_BEGIN 10001
    #define IDC_BUTTON_END 10010定义函数
    afx_msg void OnButtonClicked(UINT nID);
    在cpp文件的
    END_MESSAGE_MAP()
    这句前加上
    ON_CONTROL_RANGE(BN_CLICKED, IDC_BUTTON_BEGIN, IDC_BUTTON_END, OnButtonClicked)void CMyDialog::OnButtonClicked(UINT nID)
    {
    ASSERT(nID >= IDC_BUTTON_BEGIN && nID <= IDC_BUTTON_END); switch(nID - IDC_BUTTON_BEGIN)
    {
    case 0:
    ...
    break;
    case 1:
    ...
    break;
    ...
    case 9:
    ...
    break;
    }
    }
      

  3.   

    Earthdog(Earthdog) 的方法的前提是已经在ResourceView中添加了按钮。楼主,这需要进行子类化,参看:http://expert.csdn.net/Expert/topicview.asp?id=1228284