多个号码按钮共享一个响应BN_CLICKED消息的函数OnButton(),如何在OnButton()中知道所按号码按钮控件的ID???

解决方案 »

  1.   

    在处理消息时用ON_COMMAND_RANGE(ID_1,ID_N,OnHandle)
    OnHandle(UINT id)
    {
    switch(id)
    ....
    }
      

  2.   

    //xxxdlg.h
    afx_msg void OnBtWrite(UINT nID);//xxxdlg.cpp
    ON_CONTROL_RANGE(BN_CLICKED, IDC_BTWRITE1, IDC_BTWRITE24, OnBtWrite)void CXXXDLG::OnBtWrite(UINT nID)
    {
       if(nID == IDC_BTN1)
        ....
    }
      

  3.   

    我试了一下, zxyjyzxyjy(星星) 和 lixiaosan(小三) 的方法有效。]不过
    ON_CONTROL_RANGE(BN_CLICKED, IDC_BUTTON_1, IDC_BUTTON_2, OnNumberButton)
    必须加在原
    ON_BN_CLICKED(IDC_BUTTON_01, OnNumberButton)
    ON_BN_CLICKED(IDC_BUTTON_02, OnNumberButton)
    消息之前
    当然,其实原来的ON_BN_CLICKED完全可以删除了。在此多谢zxyjyzxyjy(星星) 和 lixiaosan(小三)的帮助!!!