我想用编辑框显示输出数据的变化过程。
比如从1增加到10
如果用SetDlgItemText(IDC_EDIT,m);的话 就只能显示最后一个数字10了。
而我想达到1  2  3  4  5  6  7  8  9  10的输出效果。CString s;
CString str;
for(m=1;m<=10;m++)
{
   s.Format("%d",m);
   str+=s;
}
SetDlgItemText(IDC_EDIT,str);
能不能不用这种方法来实现呢?
有没有一种在输出信息的末尾增加显示其他信息,而不覆盖原来信息的函数呢?谢谢大家!

解决方案 »

  1.   

    想达到1  2  3  4  5  6  7  8  9  10的输出效果
    用定时器时间间隔性的来更新每一次的信息。在输出信息的末尾增加显示其他信息,而不覆盖原来信息:
    m_edit.SetSel(0,-1);
    ReplaceSel("信息");
      

  2.   

    想达到1  2  3  4  5  6  7  8  9  10的输出效果,用多线程,还有就是
    for(m=1;m <=10;m++) 

      s.Format("%d",m); 
      str+=s; 
      Sleep(1000);//增加停顿时间

    当然你也可以用SetTimer定时器
    。至于增加末尾信息你可以用GetDlgItemText(IDC_EDIT,str,100);str = str+ "sss"
      

  3.   

    至于增加末尾信息你可以用GetDlgItemText(IDC_EDIT,str,100);str = str+ "sss" ;SetDlgItemText(IDC_EDIT,str); 
      

  4.   

    LS的两位,不好意思哈,我没说清楚,其实只是一个问题。我是想在for循环执行第一次的时候屏幕上出现1,执行第二次时屏幕上出现1和2,第三次的时候屏幕上出现123。
    除了CString s; 
    CString str; 
    for(m=1;m <=10;m++) 

      s.Format("%d",m); 
      str+=s; 

    SetDlgItemText(IDC_EDIT,str); 还有没有别的方法可以实现?PS:我是超级大菜鸟,不会用多线程,这个程序是用基类为CFORMVIEW的单文档视图。再次谢谢各位!
      

  5.   

    CString s;
    CString str;
    for(m=1;m <=10;m++)
    {
      s.Format("%d",m);
      str+=s;
    }
    SetDlgItemText(IDC_EDIT,str); ((CEdit*)GetDlgItem(IDC_EDIT))->UpdateWindow();
      

  6.   

    CString s; 
    CString str,str1; 
    for(m=1;m <=10;m++) 

      s.Format("%d",m); 
      str+=s; 

    GetDlgItemText(IDC_EDIT,str1); 
    str+=str;
    SetDlgItemText(IDC_EDIT,str); 你没一次都先获得 在加上字符串 在显示出来
      

  7.   

    CString s; 
    CString str; 
    for(int m=1;m <=10;m++) 

    s.Format("%d",m); 
    str+=s; 

    SetDlgItemText(IDC_EDIT1,str); 
      

  8.   

    int m_Int = 1;
    响应处理WM_TIMER事件
    void CXXDlg::OnTimer(UINT nIDEvent) 
    {
    // TODO: Add your message handler code here and/or call default
    if(m_Int <=10)
            {
                CString s,str = ""; 
                s.Format("%d",m);
                m_Int ++;
                GetDlgItemText(IDC_EDIT,str,256);
                str = str+ "sss" ;
                SetDlgItemText(IDC_EDIT,str); 
            }
            else
               KillTimer(1);
    CDialog::OnTimer(nIDEvent);
    }SetTimer(1,1000,NULL);
      

  9.   


    up
    GetDlgItemText           
    SetDlgItemText 放到循环里面加延时就可以了
      

  10.   

    想要看到:
    1
    12
    123
    。。
    效果要加定时器,同时SetDlgItemText 放到循环里面