方法一:(当EDIT映射到一CString时)
m_String = m_String + sNewString + "\r\n" //自动换行
UpdateData(false);
此法只能做到自动换行,不会自动滚屏到最后一行。
方法二:(当EDIT映射到一EDIT时)
m_Edit.SetSel(-1, -1); //自动滚屏
m_Edit.ReplaceSel(sNewString+"\r\n"); //自动换行
UpdateData(true);
此法可以做到自动换行,并自动滚屏到最后一行。
以上,m_String、m_Edit.分别为给编辑框添加的成员变量;sNewString 为要显示的字符串
注意二法中UpdataData参数的区别。
我发现修改编辑框的属性:Auto_HScroll等用处不大。
From: http://www.cnitblog.com/liaoqingshan/archive/ 2006/08/28/16077.aspx
方法三:CEdit没有类似AppendText的函数,如果采用SetWindowText,会造成画面闪烁,滚动条也会有问题。
另一种追加方式可以解决这些问题:
int nLength = m_edit.SendMessage(WM_GETTEXTLENGTH);
或者
int nLength=m_edit.GetWindowTextLength();
m_edit.SetSel(nLength, nLength);
m_edit.ReplaceSel( " abc " ); UpdateData(true);
|