sprawdzanie pozycji kursora w memo

0

Jak sprawdzić w jakiej pozycji znajduje się kursor w polu memo?? Chodzi mi o coś takiego jak jest w samym edytorze, że w oknie kodu źródłowego jest pole w którym napisany jest numer linijki i numer znaku w ciągu

2

Można wykorzystać SendMessage() i komunikat EM_GETSEL, lub Perform() i komunikaty EM_LINEFROMCHAR i EM_LINEINDEX - przedstawię drugie:

procedure TForm1.Button1Click(Sender: TObject);
var
  iCol, iRow: Integer;
begin
  with Memo1 do
  begin
    iRow := Perform(EM_LINEFROMCHAR, SelStart, 0);
    iCol := SelStart - Perform(EM_LINEINDEX, iRow, 0);    

    //do something...
  end;
end;

gdzie iRow to numer wiersza (linii), a iCol to numer kolumny (znaku);

0
furious programming napisał(a):

gdzie iRow to numer wiersza (linii), a iCol to numer kolumny (znaku);

tego już się domyśliłem ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1