我正在向 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) ;
再见。