Для получения позиции необходимо послать два сообщения. Первое для получения номера строки в которой находится курсор:
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;
О компании. Продажа дверей и замков.
dykos.ru
Просмотров: 2434
Copyright © 2008-2012 Программирование на Delphi для начинающих и не только
Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам
Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации
Хостинг от uCoz