繁体   English   中英

Delphi中TRichEdit的滚动问题

[英]Scrolling issues with TRichEdit in Delphi

我正在向TRichEdit添加行,如何保持对刚刚添加的行的关注?

For Idx := 1 to 1000 do
   RichEdit.Lines.add(IntToStr(Idx));

编辑

我只是在Richedit的最底行显示刚刚添加的内容,而所有其他行向上滚动

如果您只想滚动到richedit的末尾,这应该可以工作:

For Idx := 1 to 1000 do
begin
  RichEdit.Lines.add(IntToStr(Idx));
  RichEdit.SelStart := RichEdit.GetTextLen;
  SendMessage(RichEdit.handle, EM_SCROLLCARET,0,0);
end;

如果这不是您想要的,请查看上面的评论并澄清您的问题。

你可以试试这个

选项1)在循环结束时设置光标

For Idx := 1 to 1000 do
   RichEdit.Lines.add(IntToStr(Idx));

RichEdit.SetFocus;
RichEdit.SelStart := RichEdit.Perform(EM_LINEINDEX, RichEdit.Lines.Count-1, 0) ;

选项2)在执行循环时设置光标

For Idx := 1 to 1000 do
Begin
RichEdit.Lines.add(IntToStr(Idx));
RichEdit.SetFocus;
End;

RichEdit.SelStart := RichEdit.Perform(EM_LINEINDEX, RichEdit.Lines.Count-1, 0) ;

再见

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM