一个下拉框,里面有选项1,2
一个按钮
两个响应函数
OnClick1(...){
AfxMessageBox("hello1");
}
OnClick2(...){
AfxMessageBox("hello1");
}问题:
如何当下拉框选择1的时候让按钮OnClick事件对应OnClick1,选择2的时候让按钮OnClick事件对应OnClick2
在C#里可以更改事件代理,在VC里怎么办,如何动态更改Message Map?

解决方案 »

  1.   

    按ctrl+w添加按钮消息
    OnOk()
    {
    int temp;
    temp=m_combo.GetCurSel();
    if(temp==0)
    click1();
    if(temp==1)
    click2();
    }
    添加成员函数
    click1()
    {
    AfxMessageBox("hello1");
    }
    click2()
    {
    AfxMessageBox("hello2");
    }
      

  2.   

    自定义消息,你的意思是选1的时候发送a消息,选b时候发送b消息
    钩子?大炮打蚊子吧
      

  3.   

    没有那么复杂吧! DebugXP已经讲出来了,不过那个函数不应该是OnOK().把那个按钮的click事件处理函数定义为
    OnCommonClick()
    {
      int temp; 
      temp=m_combo.GetCurSel();
      if(temp==0)
         click1();
      else if(temp==1)
       click2();
    }
      

  4.   

    只要根据Combo中的不同选项做一下判断即可May you succeed!