两个EDIT,假设在一个中输入50,另一个在0的基础上每秒增加1,直到50,并每秒动态显示出来,即在EDIT上显示1  2  3  .....

解决方案 »

  1.   

    edit有个消息是内容改变就发出来的
    en_change,收到该消息就打开计时器,完成则关闭
      

  2.   

    通过当前EDIT的内容变化发出消息,获取当前的消息,然后通过函数m_*edit.SetWindowText(CString str);来完成另一个EDIT的内容设置!
      

  3.   


    设两个EDIT的变量为m_weidu1  m_weidu2
      void CTANGView::OnButton1() 
    {
    // TODO: Add your control notification handler code here UpdateData(TRUE);
    m_weidu2=25;

    for(int i=1;i<=m_weidu1-25;i++)


    m_wendu2+=1;
    }
    UpdateData(FALSE);
    }
    请问如何在循环函数中间添加定时器,实现1秒加1,并显示在EDIT上
      

  4.   

    用定时器,好像不用将定时器加在循环中吧,首先取得m_wedu1的值,然后开启定时器,在定时器函数中将m_wedu2加1,更新,到50停止,终止定时器,不就行了.
      

  5.   

    OnChangeEdit1() 

      m_sEdit2=0
      SetTimer(..1000..);}OnTimer
    {
       m_sEdit2++;
    }OnChangeEdit2()
    {
      if(m_sEdit2==50)
        KillTimer(..);
      }
      

  6.   

    OnChangeEdit1() 

      CString s=GetDlgItem(IDC_EDIT1)->GetWindowText;
      m_nEdit1=s.StrToInt();//strToInt()自定义,字符串转为整数
      m_nEdit2=0
      SetTimer(1,1000,NULL);}OnTimer
    {
       m_nEdit2++;
    }OnChangeEdit2()
    {
      if(m_nEdit2==m_nEdit1)
        KillTimer(1);
      CString s;
      s.Format("%d",m_nEdit2);
      GetDlgItem(IDC_EDIT1)->SetWindowText(s);
     }