Советы по Delphi

         

Текущая позиция Tmemo I


    CurrentLine :=SendMessage(Memo1.Handle,
EM_LINEFROMCHAR,Memo1.SelStart, 0);

Это вернет номер строки, содержащей курсор. Нижеследующий код вернет позицию символа текущей строки, около которого находится курсор:

    ColNum := Memo1.SelStart-SendMessage(Memo1.Handle,
EM_LINEINDEX,CurrentLine, 0) + 1;

Описания EM_LINEFROMCHAR и EM_LINEINDEX вы можете найти в файлах помощи по Windows API.

Дополнение

А можно и так, сообщает Nomadic:

    var
X,Y: LongInt;
............ Y := Memo1.Perform( EM_LINEFROMCHAR, Memo1.SelStart, 0 );
X := Memo1.Parform( EM_LINEINDEX, Y, 0 );
inc( Y );
X := Memo1.SelStart - X + 1;
........

[000393]



Содержание раздела