Delphi-Forum.de Delphi-Library.de
C-Sharp-Forum.de C-Sharp-Library.de
Registrieren Login Suche Hilfe Sitemap
ListBox - Bestimmter Eintrag farbig
spacer
Autor Nachricht
StrikeLucky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star

Beiträge: 33
Dabei seit: 18.12.2009



BeitragVerfasst: Do 28.01.10 21:23  Antworten mit Zitat Beitrag melden
Moin,

ich habe einige Einträge in einer ListBox, wenn zb der Eintrag xyz auftaucht, soll dieser in roter Schrift dargestellt werden. Kann mir dazu bitte jemand einen Tipp geben?
Danke

LG
Private Nachricht sendenPosting in privater Nachricht zitieren
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star

Beiträge: 11091
Erhaltene Danke: 37
Dabei seit: 22.10.2003
Wohnort: Erde (Milch- straße) ;-), ok, ok: Berlin

(XP), Vista Business, W7 (Chrome, Op10, IE8)
D2006 Pro, Java (Eclipse), C++, C# (VS 2008 Prof), Lazarus
BeitragVerfasst: Do 28.01.10 21:33  Antworten mit Zitat Beitrag melden
Dafür musst du die Einträge selbst zeichnen. Stichwort: OwnerDraw, schau dir einmal die Ereignisse der ListBox an. ;-)

_________________
Alle meine Projekte ruhen derzeit und bis auf weiteres aus beruflichen Gründen!
Private Nachricht sendenPosting in privater Nachricht zitieren Webseite dieses Mitglieds besuchen
StrikeLucky
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star

(Threadstarter)

Beiträge: 33
Dabei seit: 18.12.2009



BeitragVerfasst: Do 28.01.10 21:59  Antworten mit Zitat Beitrag melden
Danke!
Problem gelöst :)
Private Nachricht sendenPosting in privater Nachricht zitieren
Holg_i
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star

Beiträge: 41
Dabei seit: 05.03.2010



BeitragVerfasst: Di 09.03.10 11:49  Antworten mit Zitat Beitrag melden
ich bin ja hier recht neu, wobei ich aber sage, klasse das du das problem gelöst hat.
wäre fein hättest du die lösung hier aufgezeigt damit andere die das problem eventuell auch haben eine lösung finden können.

ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with Control as TListBox do
begin
IF Items[Index]='xyz' then Canvas.Brush.Color := clRed else Canvas.Brush.Color := clWhite;

Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left, Rect.Top, Items[Index]);
end;
end;


ich bin immer ganz froh wenn ich auch lösungen finde und nicht nur fragen *grins*
Private Nachricht sendenPosting in privater Nachricht zitieren
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star

Beiträge: 2067
Erhaltene Danke: 2
Dabei seit: 09.12.2007


Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 09.03.10 11:54  Antworten mit Zitat Beitrag melden
Und was genau passiert bei dem Quellcode? Oder soll das nur eine Ergänzung sein, und kein Fehlerbericht?

Wobei ich "With" in diesem Zusammenhang (und auch Allgemein) böse finde, da das Formular auch eine Eigenschaft "Canvas" hat.

_________________
PROGRAMMER: A device for converting coffee into software.
Private Nachricht sendenPosting in privater Nachricht zitieren Webseite dieses Mitglieds besuchen
Holg_i
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star

Beiträge: 41
Dabei seit: 05.03.2010



BeitragVerfasst: Di 09.03.10 12:10  Antworten mit Zitat Beitrag melden
Das sollte die Lösung seiner Frage darstellen.

Besser ist also:

ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
IF ListBox1.Items[Index]='xyz' then ListBox1.Canvas.Brush.Color := clRed else ListBox1.Canvas.Brush.Color := clWhite;

ListBox1.Canvas.FillRect(Rect);
ListBox1.Canvas.TextOut(Rect.Left, Rect.Top, ListBox1.Items[Index]);
end;
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Beiträge vom vorherigen Thema anzeigen:   
home home