每次要向编辑框添加内容时 
我使用UpdateData(FALSE)或是SetWindowText来更新内容的时候 
然后再使用 Setsel或LineScroll让总是显示最后一行 
但是这样感觉很是不爽,每次刷新界面的时候,滚动条都是先跑上去,再跑下来 
期待高手解答!谢谢

解决方案 »

  1.   

    比如你的编辑框是m_editYours,你要续写的字符串为strNewint nLen = m_editYours.GetWindowTextLength();
    m_editYours.SetSel(nLen, nLen);
    m_editYours.ReplaceSel(strNew);
      

  2.   

    CString strText(_T(""));
    GetDlgItemText(IDC_EDIT1, strText);
    strText += strNewText;
    SetDlgItemText(IDC_EDIT1, strText);
    CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT1);
    ASSERT(pEdit);
    pEdit->LineScroll(pEdit->GetLineCount());
      

  3.   

    向编辑框发送一个ctrl+end的消息。
    如果是要跑到一行的最后面,则直接发送end消息就行了像列表框的滚动,我都是这样做的
      

  4.   

    pEdit->SendMessage(WM_KEYDOWN, VK_END, VK_CTRL);
    最后一个参数需要再查看一下是如何写的
      

  5.   

    pEdit->SendMessage(WM_KEYDOWN, VK_END, MapVirtualKey(VK_CTRL,0));
    这样可能没错
      

  6.   

    那你就先把滚动条移动在最下面,LineScroll()调用,再修改数据后,SetDlgItemText(),再次调用LineScroll()