小弟想问一下如果让两个计时器同时工作,比如我想让两个计时器分别控制两个编辑框,显示数字,一个以1秒1次的速度显示,一个以2秒1次的速度
程序运行的时候,两个编辑框同时工作。谢谢!

解决方案 »

  1.   

    没有关系啦。更多也不要紧。定时器可以设置很多。只要指定不同的定时器编号就行了。
    启动时:
    SetTimer(1,1000,NULL);//1号定时器每秒一次
    SetTimer(2,2000,NULL);//2号定时器每秒两次
      

  2.   

    然后响应OnTimer(nIDEvent)
    OnTimer的参数就是定时器编号。程序中用
    switch(nIDEvent)
    {
        case 1:
          1号定时器处理
        break;
        case 2:
        2号定时器处理
        break;
    }
      

  3.   

    这样我试过它们不能同时工作
    只是我用的是if 语句
    它同时只是一个编辑框起作用
    在nIDEvent=1时edit1工作
    nIDEvent=2时edit2工作
      

  4.   

    我是说我试过
    比如说
    if(nIDEvent=1)
        m_edit1=m_edit1+1
    elseif(nIDEvent=2)
        m_edit2=m_edit2+1
    我画了两个按扭
    一个是settimer(1,1000,null)
    一个是settimer(2,2000,null)
    在我单击第一个按扭(temer1)的时候m_edit1以1秒一次显示递增数字
    然后再我单击第二个按扭(timer2)的时候m_edit1就以2秒一次显示弟增数字
    而不是在同时显示edit1以1秒1次显示,edit2以2秒1次显示
      

  5.   

    你不会一个按钮点击,同时调用SetTimer(1,1000,NULL);SetTimer(2,1000,NULL);啊!!!
      

  6.   

    if(nIDEvent=1)
        m_edit1=m_edit1+1
    elseif(nIDEvent=2)
        m_edit2=m_edit2+1
    ===============================
    ??
    nIDEvent=1、nIDEvent=2??如果你不是笔误的话?那么不管定时器是1还是2都会既做m_edit1=m_edit1+1又做m_edit2=m_edit2+1的。
      

  7.   

    噢!看错了!应该是“不管定时器是1还是2都只会做m_edit1=m_edit1+1的。”