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 Farbe von Columns ändern (TListView) (https://www.delphipraxis.net/21376-farbe-von-columns-aendern-tlistview.html)

MrKnogge 1. Mai 2004 20:45


Farbe von Columns ändern (TListView)
 
Hallo,

kann man die Farbe der Columns von TListView's ädern, wenn ja wie ?

Robert_G 2. Mai 2004 00:14

Re: Farbe von Columns ändern (TListView)
 
Hattest du das nicht schonmal gefragt? :gruebel:
Nachtrag: Das war's doch: http://www.delphipraxis.net/internal...=148033#148033

MrKnogge 2. Mai 2004 11:31

Re: Farbe von Columns ändern (TListView)
 
Da gings um die Items, nun möchte ich die Farbe der Columns (Spalten-Überschrift) ändern :wink:

Robert_G 2. Mai 2004 13:30

Re: Farbe von Columns ändern (TListView)
 
Nicht direkt ;)
Ohne die Abfrage in welchem Item du bist, kannst du im OnAdvancedCustomDrawSubItem (nicht OnCustomDrawSubItem) jedes SubItem (also Spalte 2-X) ganz easy einfärben.
Im OnAdvancedCustomDrawSubItem:
Delphi-Quellcode:
  Sender.Canvas.Brush.Color := ColumnColors[SubItem];
Für die erste Spalte muss noch die Breite ermittelt werden (sonst könnte es passierenn, dass die 2. überzeichnet wird).
Im OnAdvancedCustomDrawItem:
Delphi-Quellcode:
var
  ItemRect: TRect;
begin
  if Stage = cdPrePaint then
  begin
    ItemRect := Item.DisplayRect(drLabel);
    ItemRect.Right := Sender.Column[0].Width;
    with Sender.Canvas do
    begin
      Brush.Color := ColumnColors[0];
      TextRect(ItemRect, ItemRect.Left + 2, ItemRect.Top + 2, Item.Caption);
    end;
  end;
end;
Und natürlich brauch das Form noch ein globale Konstante ( :? ) :
Die Anzahl der Elemente musst du an die Spaltenanzahl anpassen ;)
Delphi-Quellcode:
const
  ColumnColors: array[0..5] of TColor = (clCream
                                        ,clsilver
                                        ,clMoneyGreen
                                        ,clSkyBlue
                                        ,$00D9FFF1
                                        ,$00CECEFF);
Nachtrag: :shock: Habe jetzt erst gesehen, dass du die Überschriften ändern willst.
Sorry, kA. Vielleicht hat es Matzte inzwischen rausgefunden. :?

MrKnogge 5. Mai 2004 15:52

Re: Farbe von Columns ändern (TListView)
 
Ich möcht ja ngern schieben, aber weis das wirklich niemand ?


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