在Delphi中,我在保存SelStart
和SelLength
备忘录中遇到困难,该备忘录在选择为负/反向时每5秒更新文本。
对于负/反向选择,我的意思是我已经在某处开始选择,并且在按住 shift 的同时按了左箭头键几次。
代码:
var
caret: TPoint;
sel_start, sel_length: Integer;
begin
sel_start := Memo1.SelStart; // = 5
sel_length := Memo1.SelLength; // = 10
caret := Memo1.CaretPos; // caret.x = 15
//'adi and bl' selected
caret.x := sel_start;
Memo1.Lines.Clear;
Memo1.Lines.Add('laditadi and blah blah');
Memo1.SelStart := sel_start;
Memo1.SelLength := sel_length;
Memo1.CaretPos := caret;
end;
问题是设置 SelLength 似乎实际上移动了插入符号。SelLength
并在设置后设置插入符号SelLength := 0;
。由于文本不断变化,我不能在前后使用TMemo.SelText
/ 。TMemo.SetSelText
我找不到保存插入符号位置的方法……有任何线索吗?