delphi - 在没有焦点的情况下滚动 RichEdit

标签 delphi richedit

添加一行后,我需要将 RichEdit 滚动到最后。我有一个单独的形式的 RichEdit,我根本不想获得焦点。我尝试了经常建议的解决方案:

RichEdit.Lines.Add(someText);
RichEdit.SelStart:=RichEdit.GetTextLen;
SendMessage(RichEdit.handle, EM_SCROLLCARET, 0, 0);

但这对我不起作用。但是,当我在使用 RichEdit.SetFocus; 调用 SendMessage 之前聚焦 RichEdit 时,它工作得很好。然而,这破坏了我对该应用程序的其他需求。

我正在使用XE2。谢谢

最佳答案

这就是我所做的:

SendMessage(RichEdit.Handle, WM_VSCROLL, SB_BOTTOM, 0);

关于delphi - 在没有焦点的情况下滚动 RichEdit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9757134/

相关文章:

delphi - 是否有用于Delphi/Free Pascal的免费JMS客户端?

string - 为什么我无法在 RichEdit 控件 (Delphi) 中插入逗号加空格

android - 如何使用默认的 Android 电子邮件应用程序发送带附件的电子邮件 - Delphi XE7

Delphi 中的 C# 等价物

delphi - 如何在Delphi中使用现代CPU指令? (Java比Delphi快?)

c - SetScrollRange 函数

c++ - 为什么当我把代码放在类里面时这个 richedit 窗口没有出现?

c - 如何更改 Rich Edit 控件中的下划线颜色 (Win32/C)

Delphi - RichEdit Zoom 带代码

delphi - 枚举(带有自定义值)到字符串/文本