CString str;
for(int i=0;i<100;i++)
{
Sleep(500);
str.Format(_T("Test%d \r\n"),i);
strAll+=str;
m_Edit.SetWindowText(strAll);
UpdateData(FALSE);
Sleep(500);
    m_Edit.SetScrollPos(SB_VERT,m_Edit.GetLineCount(),TRUE);
        UpdateData(FALSE);
}想让有新数据来时,滚动条自动滚动到最下面,可以调试发现滚动条忽上忽下,数据都看不清,

解决方案 »

  1.   

    SetWindowText使用该函数后 控件会初始化,滚动条就跑上去了,有什么方法可以让滚动条默认在最下边?
      

  2.   

    哈哈,解决了,要用增量是写入就可以了。CString str;
    int   nLength=0;
    //for(int i=0;i<100;i++)
    {
    //Sleep(500);
    str.Format(_T("Test \r\n"));
    strAll+=str; nLength   =   m_Edit.SendMessage(WM_GETTEXTLENGTH);   
    m_Edit.SetSel(nLength,   nLength);   
    m_Edit.ReplaceSel("abc\r\n");   
    //m_Edit.SetWindowText(strAll);
    UpdateData(FALSE);
    Sleep(1500);
        m_Edit.SetScrollPos(SB_VERT,m_Edit.GetLineCount(),TRUE);
            UpdateData(FALSE);
    }