![]() |
ListBox - Textfarbe eines Eintrags ÄNDERN
Hallo!
Ich habe mir einen Chat Programmiert, wo ich eine Benutzerliste habe und dort der Status angezeigt werden soll. der Server sendet "O", wenn ein Benutzer Online gekommen ist, "A", wenn ein Benutzer in Abwesenheit gegangen ist, und "T", wenn ein Benutzer gerade etwas eintippt. Nun möchte ich in der ListBox diese Stati durch eine Textfarbe kennzeichnen: Online = clGreen Abwesend = clRed Tippt = clBlue Das mit der Textfarbe beim Hinzufügen eines Eintrags hab ich hinbekommen, nur wie geht das mit dem Ändern? MfG |
Re: ListBox - Textfarbe eines Eintrags ÄNDERN
hi,
ich würde vorschlagen das du einen timer dafür einsetzt der, sagen wir alle 10s, die listbox neu malt (Repaint). In der OnDrawItem Procedure würde ich dann den text auslesen, einfärben und dann neu in den rect schreiben. Wie gesagt, es ist nur ein Vorschlag, ob es das ist was du wünscht, weiß ich nicht ;) Mit freundlichen Grüßen |
Re: ListBox - Textfarbe eines Eintrags ÄNDERN
Danke erstmal für die schnelle Antwort! Das mit dem Timer ist zwar eine Lösung aber nicht so Optimal. Die Liste wird ja über den TCP/IP-Eventhandler aktualisiert. Es soll auch kein Flimmern etc. in der Liste entstehen (wie das ja bei der Timer-Lösung das Problem ist), weil das nervt :roll:. Außerdem gibt es noch das Problem, dass ich zwar die Farbe des Eintrags Ändern lassen kann aber die ListBox nicht vernünftig aktualisiert wird, sodass ich die ListBox erst außerhalb des Bildschirmbereichs schieben oder den Eintrag auswählen muss, damit die Textfarbe aktualisiert wird :wink:. Bei Repaint wird ja die ganze ListBox neu "gemalt", sodass wieder das Problem mit dem Flimmern ist.
Das währ echt nett, wenn mir jemand weiterhelfen könnte. MfG |
Re: ListBox - Textfarbe eines Eintrags ÄNDERN
Hi Julien,
also ich würde jetzt einfach mal tippen - wenn du einfach immer nur dann die Liste (listbox) aktualisierst wenn jemand geht/dazukommt oder schreibt dann sind ja nicht so häufige Farbwechsel oder? und dann könntest du doch immer wenn du was verändert hast die box neu zeichnen lassen oder anderweitig aktualisieren. Kannst du jetzt eigentlich einen Eintrag verändern oder nicht (farblich) ?? Leuchtende Grüße Stefan alias Light |
Re: ListBox - Textfarbe eines Eintrags ÄNDERN
Hi!
Ja, die idee hatte ich auch schon. Ich werds auf jeden Fall nachher mal austesten. MfG |
Re: ListBox - Textfarbe eines Eintrags ÄNDERN
Okay, danke! Funktioniert bestens mit Repaint.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:07 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