问题描述:
有24个CEdit控件,我要对输入的数值进行些判断和操作。以下是对第一个CEdit控件操作代码:
void CMy24Channel2Dlg::OnEnChangeEdit1()
{
// TODO:  如果该控件是 RICHEDIT 控件,则它将不会
// 发送该通知,除非重写 CDialog::OnInitDialog()
// 函数并调用 CRichEditCtrl().SetEventMask(),
// 同时将 ENM_CHANGE 标志“或”运算到掩码中。 // TODO:  在此添加控件通知处理程序代码
UpdateData(TRUE);
m_ctlSlider1.SetPos(m_intChannel1); //用在CEdit1中输入的数据m_intChannel1
//控制滑块控件指示位置.
m_ctlChannel1.SetLimitText(3);//设置CEdit1中输入数字的最多位数为3总共有24个这样的CEdit控件和滑块控件。应该有简便方法,共用这个事件吧?
怎么做呢?

解决方案 »

  1.   

    可以通过抽象函数简化一部分,但是,应该每个Edit的Onchange事件都还是需要的
      

  2.   

    可以用ON_CONTROL_RANGE宏为多个ID连续的控件定义同一个通知消息的一个响应函数。
      

  3.   


    恩,但是它这个代码m_ctlSlider1.SetPos(m_intChannel1); slider也需要变化,如何处理
      

  4.   

    能否再具体些呢,
    还有,我的CEDIT和slider都是变化的。从1到24。真的是想找个方便的方法~~
      

  5.   

    把CEDIT&slider当参数传进去,然后用
    for(int i =1;i<=24;i++)
    {
      OnEnChangeEdit(Edit_i,slider_i);
    }