Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi SelAttributes bei RichEdit funktioniert manchmal nicht (https://www.delphipraxis.net/101546-selattributes-bei-richedit-funktioniert-manchmal-nicht.html)

MasterEvil 15. Okt 2007 10:50


SelAttributes bei RichEdit funktioniert manchmal nicht
 
Hallo,

ich habe ein kleines, nerviges Problem mit der TRichEdit Komponente.
Ich hab eine Art Log-Fenster in das ich Netzwerk-Traffic schreibe.
Ist es Traffic, den der Server versendet, soll der Text Blau sein, andernfalls rot.

Dies klappt zu 90% auch wunderbar mit meiner folgenden Lösung:
Delphi-Quellcode:
if Receive then RichEdit.SelAttributes.Color:=clBlue
else RichEdit.SelAttributes.Color:=clRed;

RichEdit.Lines.Add(Text);
Und ab und zu ist ein Textblock dann plötzlich schwarz ...
Es kann kein Text an der Funktion vorbei ins RichEdit kommen.
Irgendwie funktioniert das SelAttributes ab und zu nicht.

Jemand eine Idee?
Gruß,
Steffen

Flocke 15. Okt 2007 10:59

Re: SelAttributes bei RichEdit funktioniert manchmal nicht
 
Es könnte sein, dass die Auswahl sich nicht am Ende befindet. Lösung wäre hier:
Delphi-Quellcode:
RichEdit.SelStart := RichEdit.GetTextLength;
RichEdit.SelAttributes.Color := ...
RichEdit.SelText := DeinHinzuzufuegenderText + #13#10;
// oder:
// RichEdit.SelText := #13#10 + DeinHinzuzufuegenderText;

shmia 15. Okt 2007 11:01

Re: SelAttributes bei RichEdit funktioniert manchmal nicht
 
Könnte ein Nebeneffekt des berüchtigten [google]"Richedit line insertion error"[/google] sein.
Versuch mal:
Delphi-Quellcode:
if Receive then RichEdit.SelAttributes.Color:=clBlue
else RichEdit.SelAttributes.Color:=clRed;
RichEdit.SelStart := RichEdit.GetTextLen;  // <==
RichEdit.Lines.Add(Text);

MasterEvil 17. Okt 2007 10:17

Re: SelAttributes bei RichEdit funktioniert manchmal nicht
 
Hallo,

danke für eure Hilfe.
Alleine das SelStart zu setzen, hat leider nicht geholfen, aber mit dem SelText zusammen scheint es zu funktionieren (ist jedenfalls bislang noch nicht wieder aufgetreten).

Gruß,
Steffen


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz