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]