Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Filelist Zeile färben (https://www.delphipraxis.net/81190-filelist-zeile-faerben.html)

PiQ 22. Nov 2006 08:40


Filelist Zeile färben
 
Also ich will in meiner Filelist (aus der rubrik win 3.1 also filelistbox ^^) jede zweite Zeile in einer anderen Farbe haben ... also
zeile 1 grün
zeile 2 rot
zeile 3 grün
zeile 4 rot
... da ich ein anfänger bin frag ich euch mal :P
hoffe ihr könnt mir helfen! :roll: (ich hab schon gesucht und so aber naja glaub nich das was richtiges dabei war ^^...)
- ich würd ja sagen man kann das über jeden ungerade und gerade eintrag in der filelist machen aber wie?? :(

MfG PiQ

marabu 22. Nov 2006 09:10

Re: Filelist Zeile färben
 
Herzlich willkommen in der Delphi-PRAXiS, PiQ.

Wenn du die Komponente nennst, mit der du arbeitest und auch die von dir verwendete Delphi-Version in dein DP-Profil einträgst, dann kann man dir viel besser helfen.

Freundliche Grüße vom marabu

R2D2 22. Nov 2006 10:30

Re: Filelist Zeile färben
 
Du ratterst mit einer for-Schleife jeden Eibntrag durch, und färbst ihn per Überprüfung mit MOD farbig ein.

PiQ 22. Nov 2006 10:37

Re: Filelist Zeile färben
 
kannst dus mir vielleicht iwie erklären oda gleich hinschrieben wie?! hab mal hier: naja das "prog" ^^
wie gesagt bin ein anfänger :cry:

PiQ 22. Nov 2006 14:26

Re: Filelist Zeile färben
 
hat keiner ne idee? :cry:

Sunlight7 25. Nov 2006 12:32

Re: Filelist Zeile färben
 
Zitat:

Zitat von R2D2
Du ratterst mit einer for-Schleife jeden Eibntrag durch, und färbst ihn per Überprüfung mit MOD farbig ein.

Warum so umständlich?
Da es nur zwei Farben sind genügt ein einfaches Hier im Forum suchenOdd :wink:
Und wozu eine for-Schleife? :gruebel:

Delphi-Quellcode:
If Odd(Index) then
   MaleRot else
      MaleGrün
Du kannst dafür das Ereignis Hier im Forum suchenOnDrawItem einer Hier im Forum suchenListBox verwenden, wenn Du im OI Hier im Forum suchenStyle auf Hier im Forum suchenlbOwnerDrawFixed stellst :wink:
Das funkt aber net mit der TFileListBox Kompo, dazu selber eine Hier im Forum suchenTListBox machen.

[dp]Grüßle[/dp]!

PiQ 25. Nov 2006 19:00

Re: Filelist Zeile färben
 
Delphi-Quellcode:
procedure TWindow.FormCreate(Sender: TObject);
begin
  If Odd(listbox1.itemindex) then
    label4.Color := clred else
    label4.Color := clgreen;
end;
was stimmt daran nicht ? ich habe jetz nur das bei mir drin stehen. hab das mal mit einem label simuliert aber die farbe ändert sich trotzdem nicht - am anfang ist es rot aber es wird nie grün wenn ich in meiner listbox einen 1./2./3./4. eintrag wähle. :cry:
und dann noch:
wie ist den das mit dem ondrawitem gemeint? weil ich kann dann da nix auswählen ...

ich hoffe einer weiß warum!

Sunlight7 25. Nov 2006 19:12

Re: Filelist Zeile färben
 
Das Beispiel kann mal net funktionieren, weil Du es im FormCreate stehen hast :wink:
Dazu müsstest Du es in dem OnClick Ereignis von der ListBox machen.

Im OnDrawItem kannst Du die Einträge selbst Zeichnen, und dazu eine Farbe auswählen.

N' Beispiel zu OnDrawItem:
Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
   With TListBox(Control) do begin
      // Farbe wählen
      If Odd(Index) then
         Canvas.Font.Color:=clRed else
            Canvas.Font.Color:=clLime;

      // Fläche übermalen
      Canvas.FillRect(Rect);

      // Text zeichnen
      Canvas.TextOut(Rect.Left+1, Rect.Top+1, Items[Index]);
   end;
end;
Edit: Öha, Tags vergessen...

PiQ 25. Nov 2006 19:31

Re: Filelist Zeile färben
 
alles klar ich habs zwar jetz aba ma sehn ob ich nochma ne frage stelle thx! :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 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