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
0
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), aiCol
to numer kolumny (znaku);
tego już się domyśliłem ;)