15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту




Как получить координаты курсора в memo-поле

procedure CaretPos(H: THandle; var L,C : Word);
begin
  L := SendMessage(H,EM_LINEFROMCHAR,-1,0);
  C := LoWord(SendMessage(H,EM_GETSEL,0,0)) - SendMessage(H,EM_LINEINDEX,-1,0);
end;



procedure TForm1.Button1Click(Sender: TObject);
var
  LineNum,ColNum : Word;
begin
  CaretPos(Memo1.Handle,LineNum,ColNum);
  Edit1.Text := IntToStr(LineNum) + '  ' + IntToStr(ColNum);
end;

 

Хотя в Delphi 5 свойство CaretPos уже включено в memo.