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 VirtualStringTree - Color im Header ändern (https://www.delphipraxis.net/130807-virtualstringtree-color-im-header-aendern.html)

onkelmehli 13. Mär 2009 14:36


VirtualStringTree - Color im Header ändern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich möchte die Color im Header ändern, aber irgendwie bekomme ich das nicht hin.
Mit "Header.Background = clYellow" ändert man leider nicht den kompletten Header (siehe Anhang).
Mit "Header.Columns[0].Color" ändert man die gesamte Spalte.
Ich habe auch schon sämtliche Colors unter "Colors." ausprobiert, leider ohne Erfolg.

Hat vielleicht irgendjemand noch eine Idee?

Gruß
Matthias

onkelmehli 16. Mär 2009 12:09

Re: VirtualStringTree - Color im Header ändern
 
*push*

hat keiner eine Idee?

hoika 16. Mär 2009 12:25

Re: VirtualStringTree - Color im Header ändern
 
Hallo,

eine Ansatz kann ich dir geben.

- Header.Options -> hoOwnerDraw auf True
- in der jeweiligen Header-Spalte (Doppelklick auf TreeView
Style auf vsOwnerdraw setzen


Jetzt kannst (musst) du den Header selber malen im OnDrawHeader

Delphi-Quellcode:
procedure TForm1.LV_WorkSteps2HeaderDraw(Sender: TVTHeader;
  HeaderCanvas: TCanvas; Column: TVirtualTreeColumn; R: TRect; Hover,
  Pressed: Boolean; DropMark: TVTDropMarkMode);
begin
  if Column.Position=1 then
  begin
    HeaderCanvas.Font.Color:= clGreen;
    DrawText(HeaderCanvas.Handle, R.Left ???  usw.
  end;
end;

Heiko

onkelmehli 16. Mär 2009 12:45

Re: VirtualStringTree - Color im Header ändern
 
Danke Heiko,

ich hatte schon das ein oder andere Draw-Ereignis ausprobiert, nur ist das Programm dort nie "reingesprungen". Nun weiß ich auch warum, ich hatte nicht beachtet, das ich auch in jeder Spalte den Style auf Ownerdraw setzen muss.
Vielen Dank noch mal!

Gruß
Matthias

hoika 16. Mär 2009 14:55

Re: VirtualStringTree - Color im Header ändern
 
Hallo,

ja, das habe ich auch erst beim Debuggen in der TreeView-Pas-Datei herausgefunden ;)

Macht alles Sinn, aber ist halt leider nicht gut dokumentiert
(ausser im Quellcode).

Müsste sich mal jemand drumkümmern ... ;)
Ist das PasDoc ?


Heiko

onkelmehli 16. Mär 2009 16:20

Re: VirtualStringTree - Color im Header ändern
 
Was meinst du mit PasDoc?


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