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;    展开
 我来答
thomasdai
2012-02-24 · TA获得超过189个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:220万
展开全部
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);

以上三种任选其一啦,有问题欢迎再问。
alctel112358
2012-02-13 · 超过30用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:86.7万
展开全部
利用SelStart属性:
计算光标的位置,通过SelStart属性设置。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式