AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ListBox => Zeile färben

Ein Thema von Tommy1988 · begonnen am 3. Okt 2007 · letzter Beitrag vom 3. Okt 2007
Antwort Antwort
Tommy1988
(Gast)

n/a Beiträge
 
#1

ListBox => Zeile färben

  Alt 3. Okt 2007, 16:51
Hallo, wie kann ich ganz einfach bei einer ListBox eine Zeile einfärben?
  Mit Zitat antworten Zitat
quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: ListBox => Zeile färben

  Alt 3. Okt 2007, 17:03
Soll es nur eine Bestimmte Zeile einfärben?

Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  with (control as TListBox) do
  begin
    if Index = 4 then //bei best. Zeile soll folgendes gelten
    begin
      Canvas.Brush.Color := clRed;
      Canvas.Pen.Color := clWhite;
      Canvas.Rectangle(Rect);
    end;
    Canvas.TextOut(Rect.Left + 1, Rect.Top + 1, Items[Index]);
  end;
end;
Geb keine Garantie das es funktioniert, ist schnell geschrieben wurden.

Edit: Also Quelltext hab ich kurz getetstet, tut einwandfrei.
Vergiss aber nicht, die Eigenschaft Style deiner ListBox auf lbOwnerDrawVariable zu stellen.
Ansonsten wird die Routine nicht aufgerufen.

Zitat:
Beschreibung

Mit Style können Sie festlegen, ob es sich bei dem Listenfeld um ein Standardlistenfeld handelt, das Strings anzeigt, oder um ein Owner-Draw-Listenfeld, das auch Grafiken anzeigen kann. Owner-Draw-Listenfelder ermöglichen es dem Entwickler, Einträge auf eine Weise anzuzeigen, die nicht dem Standard entspricht. Der entsprechende Quelltext zum Zeichnen von Elementen im Listenfeld muss in diesem Fall vom Anwendungsentwickler bereitgestellt werden.

Style bestimmt, ob das Listenfeld virtuell ist, die Einträge als dynamisch über Ereignisbehandlungsroutinen bereitgestellt werden. Standardmäßig hat Style den Wert lbStandard, was bedeutet, daß das Listenfeld nicht virtuell ist und alle Einträge als Strings angezeigt werden.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#3

Re: ListBox => Zeile färben

  Alt 3. Okt 2007, 17:19
Ok, das klappt soweit aber ich habe noch ein Problem.

ich hatte das schonmal gelöst hab aber vergessen wie das geht. undzwar dass der eintrag der listbox oben eingefügt wird statt unten
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
 
Delphi 2006 Architect
 
#4

Re: ListBox => Zeile färben

  Alt 3. Okt 2007, 17:22
Neue Frage, neues Thema! Was hat ein ListBox Item einfuegen mit Farbe zu tun?
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:17 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