如何在FMX中显示TMemo中的任意一行?

时间:2012-11-19 20:23:11

标签: delphi tmemo firemonkey-fm2

我在Firemonkey中向TMemo添加了一行,并且我想要在TMemo中显示的行数多时将添加的行滚动到视图中。我找不到怎么做。我试过了

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

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

更新

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

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:4)

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

例如:

Display.VScrollBar.Value := Display.VScrollBar.Max