procedure TForm1.Memo1Click(Sender: TObject);
begin
Text := Format('当前列:%d, 当前行:%d', [Memo1.CaretPos.X, Memo1.CaretPos.Y]);
end;
//用 API 实现
procedure TForm1.Memo1Click(Sender: TObject);
var
LineY,LineX: Integer;
begin
LineY := SendMessage(Memo1.Handle,EM_LINEFROMCHAR,Memo1.SelStart,0);
LineX := SendMessage(Memo1.Handle,EM_LINEINDEX,LineY,0);
Text := '当前行:' + IntToStr(LineY) + '; ' + //0开始
'当前列:' + IntToStr(Memo1.SelStart - LineX) + '; ' + //0开始
'当前字符:' + IntToStr(Memo1.SelStart) + '. '; //包括#13#10
end;
delphi Memo 的当前行、当前列与当前字符
最新推荐文章于 2023-12-03 12:44:25 发布
本文介绍在Delphi中通过两种方法获取Memo控件中光标的位置,包括当前行、当前列和当前字符的位置。第一种方法使用Memo1.CaretPos属性直接获取,第二种方法则通过发送API消息实现,适用于更复杂的应用场景。
2048

被折叠的 条评论
为什么被折叠?



