我在Firemonkey中向TMemo添加了一行,并且我想要在TMemo中显示的行数多时将添加的行滚动到视图中。我找不到怎么做。我试过了
Display.Lines.Add (arg);
Caret.Line := Display.Lines.Count - 1;
Caret.Pos := 0;
Display.CaretPosition := Caret;
但这没有帮助。帮助非常有限,所以我不确定我在这里做什么。
更新
在尝试受访者的代码时,我注意到我测试了代码示例错误。我为此道歉,我唯一的理由是,当我编写并测试代码时,它已接近午夜了。上面的代码确实有效。我从原始代码中删除了语句Display.CaretVisible := True;
,因为这不会影响我想要的行为。
答案 0 :(得分:6)
由于您只是通过Lines.Add()
附加字符串,因此您可以调用Display.GoToTextEnd
将其滚动到结尾并显示刚刚附加的行。
答案 1 :(得分:4)
您可以将VScrollBar.Value属性的值设置为其Max值。这将始终滚动 - 或强制滚动条 - 到备忘录(ScrollBox)的底部。
例如:
Display.VScrollBar.Value := Display.VScrollBar.Max