Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#3

AW: In RichEdit ganze Zeile einfärben

  Alt 15. Jun 2014, 13:27
Du müßtest nur die Zeile markieren, statt das Wort.

Das sollte der Code sein der die Zeile markiert. Danach nur noch einfärben:

Delphi-Quellcode:
procedure SelLine(CM: TCustomMemo; ALine: Integer);
begin
  CM.SelStart := CM.Perform(EM_LINEINDEX, ALine, 0);
  CM.SelLength := Length(CM.Lines[ALine]);
end;
Beispielaufruf:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  SelLine(RichEdit1, Button1.Tag);
  RichEdit1.SelAttributes.Color := $000099FD;
  Button1.Tag := Button1.Tag + 1;
end;
Hier noch ein Code falls du wissen willst in welcher Zeile du dich befindest:
Delphi-Quellcode:
function GetCurLine(CM: TCustomMemo): Integer;
begin
  Result := SendMessage(CM.Handle, EM_LINEFROMCHAR, CM.SelStart, 0);
end;
Beispielaufruf:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(IntToStr(GetCurLine(RichEdit1)));
  Button1.Tag := Button1.Tag + 1;
end;
  Mit Zitat antworten Zitat