2015年(29)
分类: C/C++
2015-05-27 09:47:56
向CEdit中追加文本(原来文本不变)已经让滚动条始终在底部
方法一:(效率不高)
CString strTemp;
GetDlgItem(IDC_EDIT_OUTPUT)->GetWindowText(strTemp); strTemp += strAppendText;
GetDlgItem(IDC_EDIT_OUTPUT)->SetWindowText(strTemp);
//滚动到顶部 SB_BOTTOM 滚动到底部
GetDlgItem(IDC_EDIT_OUTPUT)->SendMessage(WM_VSCROLL,SB_BOTTOM,0);
(滚动条每次刷新都会先回到顶部,然后再到底部,如果刷新比较快,容易闪动)
方法二:(效率高)
CEdit m_editOutPut;
int len = m_editOutPut.GetWindowTextLength();
//将插入光标放在最后
m_editOutPut.SetSel(len,len);
m_editOutPut.ReplaceSel(strAppendText);
m_editOutPut.ScrollWindow(0,0);
//滚动到插入点 (滚动条始终在底部,不闪动)