Как узнать положение курсора в TMemo и TRichEdit
Для выполнения следующего кода поместите TRichEdit, TButton и три TLabel. При выполнении этого кода и при нажатии кнопки, в TLabel будут отображаться номер строки, длина строки и положение курсора.
procedure TForm1.Button1Click(Sender: TObject);
var
LPos,CPos,LineLenght: integer;
begin
Lpos:= SendMessage(RichEdit1.Handle,
EM_LINEFROMCHAR, RichEdit1.Selstart, 0);
CPos:= SendMessage(RichEdit1.handle,
EM_LINEINDEX, lpOS, 0);
LineLenght:= SendMessage(RichEdit1.HANDLE,
EM_LINELENGTH, CPos, 0);
CPos:= RichEdit1.Selstart-CPos;
Label1.Caption:= IntToStr(Lpos);
Label2.Caption:= IntToStr(LineLenght);
Label3.Caption:= IntToStr(Cpos);
end;
Данный пример показан для компонента TRichEdit. В случае с TMemo нужно заменить соответственно RichEdit на Memo.
Комментарии