Для получения позиции необходимо послать два сообщения. Первое для получения номера строки в которой находится курсор:
Memo1.Perform(EM_LINEFROMCHAR, Memo1.SelStart, 0);
А второе для получения позиции курсора в строке:
Memo1.Perform(EM_LINEINDEX, LineNum, 0);
Пример:
procedure TForm1.Memo1Click(Sender: TObject);
var LineNum : word;
CharNum : word;
begin
{Получаем номер строки}
LineNum := Memo1.Perform(EM_LINEFROMCHAR, Memo1.SelStart, 0);
{Получаем позицию в строке}
CharNum := Memo1.Perform(EM_LINEINDEX, LineNum, 0);
{Выводим позицию на экран}
Label1.Caption := IntToStr(LineNum)+', '
+
IntToStr((Memo1.SelStart-CharNum));
end;
Просмотров: 5974
Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.
Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.
Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.