我以前从不需要使用TRichEdit,总是使用TMemo。
当我添加像TMemo这样的文本时,我希望RichEdit自动滚动到最后。了解添加一些数据后的样子:
正如您所看到的,滚动条保持在顶部,但我希望它在我添加文本时保持在底部。
我已经谷歌搜索了解决方案,但我找不到一个好的和可靠的。
答案 0 :(得分:15)
试试此代码
RichEdit1.SetFocus;
RichEdit1.SelStart := RichEdit1.GetTextLen;
RichEdit1.Perform(EM_SCROLLCARET, 0, 0);
答案 1 :(得分:2)
这是更简单,快速的解决方案:
仅在OnChange事件处理程序中:
SendMessage(RichEdit1.handle, WM_VSCROLL, SB_BOTTOM, 0);
原始答案来自:https://www.experts-exchange.com/questions/21002277/Richedit-autoscrolling.html
答案 2 :(得分:1)
简而言之,您需要将光标放在最后,或发送代码向下滚动。
你试过吗
Richedit1.SelStart :=RichEdit1.GetTextLength();
SendMessage(RichEdit1.handle, EM_SCROLLCARET,0,0);