0

我在 Firemonkey 中将行添加到 TMemo 中,并且我希望添加的行在 TMemo 中显示的行数过多时滚动到视图中。我找不到如何做到这一点。我试过

Display.Lines.Add (arg);
Caret.Line := Display.Lines.Count - 1;
Caret.Pos  := 0;
Display.CaretPosition := Caret;

但这并没有帮助。帮助非常有限,所以我不确定我在这里做什么。

更新

在尝试受访者的代码时,我注意到我测试了错误的代码示例。对此我深表歉意,我唯一的借口是我编写和测试代码时已接近午夜。上面的代码确实有效。我从原始代码中删除了该语句Display.CaretVisible := True;,因为这不会影响我想要的行为。

4

2 回答 2

6

由于您只是通过 附加字符串Lines.Add(),因此您可以调用Display.GoToTextEnd将其滚动到末尾并显示刚刚附加的行。

于 2012-11-19T22:38:59.013 回答
4

您可以将 VScrollBar.Value 属性的值设置为其最大值。这将始终滚动 - 或强制滚动条 - 到备忘录 (ScrollBox) 的底部。

例如:

Display.VScrollBar.Value := Display.VScrollBar.Max
于 2012-11-19T22:34:45.093 回答