TMemo 滚动 Delphi

TMemo Scrolling in Delphi

我正在使用 Memo1.Lines.Add(文本)向 TMemo 添加文本行,这会导致 Memo1 滚动到底部。

有什么方法可以在我添加行时停止它滚动,或者在我完成后强制它返回顶部?

我想要一个简单的解决方案...

谢谢...

您可以使用 begin/end 更新行集合:

memo.Lines.BeginUpdate;
try
  memo.Lines.Add('test');
finally
  memo.Lines.EndUpdate;
end;

将备忘录的 SelStart 属性 设置为 0,然后向备忘录发送 EM_SCROLLCARET 消息。

Memo1.Lines.BeginUpdate;
try
  Memo1.Lines.Add(...);
  ...
  Memo1.SelStart := 0;
  Memo1.SelLength := 0;
  Memo1.Perform(EM_SCROLLCARET, 0, 0);
finally
  Memo1.Lines.EndUpdate;
end;