![]() |
RichEdit: neue farbige Zeile vorne einfügen?
Hallo,
ich möchte eine farbige Zeile in eine RichEdit hinzufügen. Das wär ja auch kein Problem ( ![]() Nur will ich die neue Zeile nicht hinten (was "add" macht) sondern am Anfang setzen. Einen Text vorne hinzufügen und diesen farblich darzustellen ist auch kein Problem. Nur wenn ich dann einen neuen Text hinzufüge, werden alle anderen Zeilen wieder schwarz. Wie kann ich verhindern, dass die Zeilen wieder schwarz werden, sondern dass diese Zeilen ihre (mal gegebene) Farbe behalten? ach ja - hier noch ein Code den ich bisher habe:
Delphi-Quellcode:
procedure TForm1.Meldung_anzeigen(Meldungstext: String; Farbe: TColor);
var S: String; begin with RichEdit1 do begin S := Text; clear; Text := Meldungstext + #10 + S; SelStart := 0; SelLength := length(Meldungstext); SelAttributes.Color := Farbe; end; end; |
Re: RichEdit: neue farbige Zeile vorne einfügen?
Hallo,
so müsste es passen, wenn ich Dich richtig verstanden habe:
Delphi-Quellcode:
with RichEdit1 do
begin SelStart := 0; SelText := Meldungstext+#13#10; SelStart := 0; SelLength := length(Meldungstext); SelAttributes.Color := Farbe; end; |
Re: RichEdit: neue farbige Zeile vorne einfügen?
Das Problem ist ja, dass Helmi den Text komplett auis dem Richedit entfernt und hinterher den neuen String wieder im RichEdit darstellt. Da im String keinerlei Farbinformationen enthalten sind, ist natürlich der Text wieder schwarz.
Probiere es mal so:
Delphi-Quellcode:
RichEdit1.Lines.Insert(0, 'hallo');
|
Re: RichEdit: neue farbige Zeile vorne einfügen?
Hallo,
geht auch :wink: diese Zeilen:
Delphi-Quellcode:
sind in der Auswirkung identisch mit der Zeile:
SelStart := 0;
SelText := Meldungstext+#13#10;
Delphi-Quellcode:
RichEdit1.Lines.Insert(0, Meldungstext);
|
Re: RichEdit: neue farbige Zeile vorne einfügen?
Hallo,
danke für eure Hilfe! :thumb: jetzt gehts! Meine Procedure schaut jetzt so aus:
Delphi-Quellcode:
Ach ja, ich hab nach "SelAttributes.Color" noch ein "SelStart := 0" eingefügt, weil sonst der Text markiert war
procedure TForm1.Meldung_anzeigen(Meldungstext: String; Farbe: TColor);
begin with RichEdit1 do begin Lines.Insert(0, Meldungstext); SelStart := 0; SelLength := length(Meldungstext); SelAttributes.Color := Farbe; SelStart := 0; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz