Подписаться на RSS рассылку
Главная » Статьи по Delphi » Мышь и курсор » Получить позицию курсора в TMemo

Получить позицию курсора в TMemo

Автор:

Tweet

Для получения позиции необходимо послать два сообщения. Первое для получения номера строки в которой находится курсор:

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

Обсудить на форуме


Имя *:
Email:


Код *:

Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.

Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.

Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.