delphi~~richedit.lines.add 后,如何让光标还在插入的那行??
procedureTForm1.SpeedButton4Click(Sender:TObject);beginifspeedbutton4.Downthenrichedi...
procedure TForm1.SpeedButton4Click(Sender: TObject);beginif speedbutton4.Down then richedit1.lines.Add('0.')else richedit1.Lines.clear;end;
展开
2个回答
展开全部
1.CaretPos可以直接控制光标位置,比如
CaretPos := Point(20, 2); 表示将光标放在第200行第2个字符之后。
2.可以通过SelText来代替Lines.Add,比如
SelStart := Length(richedit.Text); //光标移动到最后
SelLength := 0; //选中0个字符
SelText := '要显示的内容'; //你要显示的内容, 此时光标移动到最后,并且刚显示的内容被选中
SelStart := Length(richedit.Text); //再次,光标移动到最后
SelLength := 0; //再次。选中0个字符
3. 如果你一直使用Lines.Add, 并且希望光标始终在最后的话,有个简单的方法,
richedit.SelStart := Length(richedit.Text);
PostMessage(richedit.Handle, WM_VSCROLL, SB_BOTTOM, 0);
以上三种任选其一啦,有问题欢迎再问。
CaretPos := Point(20, 2); 表示将光标放在第200行第2个字符之后。
2.可以通过SelText来代替Lines.Add,比如
SelStart := Length(richedit.Text); //光标移动到最后
SelLength := 0; //选中0个字符
SelText := '要显示的内容'; //你要显示的内容, 此时光标移动到最后,并且刚显示的内容被选中
SelStart := Length(richedit.Text); //再次,光标移动到最后
SelLength := 0; //再次。选中0个字符
3. 如果你一直使用Lines.Add, 并且希望光标始终在最后的话,有个简单的方法,
richedit.SelStart := Length(richedit.Text);
PostMessage(richedit.Handle, WM_VSCROLL, SB_BOTTOM, 0);
以上三种任选其一啦,有问题欢迎再问。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询