编辑框是只读的,作消息显示用的,可上下滚动,但行多了后还停在第一行,如何才能自动移动到最后一行去呢?

解决方案 »

  1.   

    让他滚动到最后一行嘛,给一个函数你参考一下void ShowState(LPCTSTR state)
    {
    int iline = m_edtState.GetLineCount() - 1;
    int ti = m_edtState.LineIndex(iline);
    m_edtState.SetSel(ti, ti, TRUE);      //自动滚屏
    CString str = state;
    str = str + "\r\n";
    m_edtState.ReplaceSel( str );   //自动换行
    }
      

  2.   

    LZ是不是想说该控件的自动换行?
    如果是 设置multiline TRUE
              水平滚动条为false
              自动水平滚动为false
              自动垂直滚动为TRUE
      

  3.   

    int index = m_edit.GetLine()
    m_edit.LineScroll(index )
      

  4.   

    调用m_edtState.SetSel函数设置到最后一行
      

  5.   

    你这个m_edtState state是什么,EDITBOX的ID和内容吗
      

  6.   

    CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT);
    ASSERT(pEdit);
    pEdit->LineScroll(pEdit->GetLineCount());
      

  7.   

    补充一点,要控制的edit不是本类中的,操作的是一个指针
      

  8.   

    在MSDN上找到了,在外面类使用CWnd::GetDlgItem()时只需(Dialog指针)->GetDlgItem(IDC_EDIT)就OK了