DruckenMister WongFacebook

Aktuelle Zeile/Spalte in Memofeldern bestimmen

System Win9x, WinNT, Win2000, WinXP, Vista, Win7
Ab Delphi-Version Delphi 1
Letzte Änderung 28.09.2010

Bis zu Delphi Version 5 muss diese Methode angewendet werden:


procedure TForm1.Button1Click(Sender: TObject);
begin
  //Zeile bestimmen
  Label1.Caption := IntToStr(SendMessage(Memo1.Handle,
    EM_LINEFROMCHAR, Memo1.SelStart, 0)+1);

  //Spalte bestimmen
  Label2.Caption := IntToStr(Memo1.SelStart-SendMessage(Memo1.Handle,
    EM_LINEINDEX, SendMessage(Memo1.Handle, EM_LINEFROMCHAR, Memo1.SelStart, 0), 0)+1);
end;
 

Ab Delphi Version 6 kann man folgendes anwenden:


procedure TForm1.Button1Click(Sender: TObject);
begin
  //Zeile bestimmen
  Label3.Caption := IntToStr(Memo1.CaretPos.y+1);
  //Spalte bestimmen
  Label4.Caption := IntToStr(Memo1.CaretPos.x+1);
end;