高手们救命呀!!TRichEdit每添加一行(lines.add()),怎样显示最后一行,即会自动滚动,前提是不用鼠标点击。此问题搞得我头晕都没办法。
由于我做的收费软件是专用键盘,不能用鼠标,我用TRichEdit控件用于显示操作信息,但记录滚动时,当行数超出RichEdit的显示范围之后,不会滚动到当前添加的那行。郁闷。此时如果用鼠标将光标移到最后一行,或是拉滚动条到最下,则就会自动滚动了。郁闷。
如果改用Tmemo控件,则每次添加就会自动滚动了。但此控件不能改变没行颜色。也不能满足我的要求。
我的测试按钮中的代码如下:
procedure TForm1.Button1Click(Sender: TObject);
begin
Y := Form1.RichEdit1.Lines.Count;
//X := 4;//Length(RichEdit1.Lines[Y]);
Form1.RichEdit1.CaretPos := Point(0, Y);
Form1.RichEdit1.SelLength := Length(Edit1.Text);
Form1.RichEdit1.SelAttributes.Color := clRed;
Form1.RichEdit1.Lines.Add(Edit1.Text);
//Form1.RichEdit1.SetFocus;
end;
救命呀!!!!!!!!!!!!!!!!!!!