delphi中的Memo控件如何实现光标当前行文本的插入!急!

delphi中的Memo控件如何实现光标当前行文本的插入!急!,第1张

给你一个举一返三的例子:

procedure TForm1.Button4Click(Sender: TObject)

var

i:integer

begin

i:=Length(memo1.Text)

memo1.Text:=memo1.Text+'新增加文本'

memo1.SetFocus

memo1.SelStart:=i

memo1.SelLength:=10

end

RichEdit1.SetFocus肯定可以定位光标位置,估计是你写的那个位置不对,没有执行;你把代码都放在 FormShow事件里看看procedure TForm1.FormShow(Sender: TObject)

begin

RichEdit1.SetFocus RichEdit1.perform(em_setsel, 0, 0)end看看这是不是你要的效果?

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)

以上三种任选其一啦,有问题欢迎再问。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/7888624.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存