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 VirtualTreeView Hintergrundfarbe setzen (https://www.delphipraxis.net/122104-virtualtreeview-hintergrundfarbe-setzen.html)

Piro 9. Okt 2008 14:10


VirtualTreeView Hintergrundfarbe setzen
 
Hi,

ich verwende den VirtualtreeView mit dem Header Style "hsXPStyle". Die Farbe des Headerhintergrund ist in "Gelb". Ich möchte gerne eine graue Farbe als Hintergrund.

Desweiteren würde ich gerne jede 2. Zeile des VirtualTreeView farbig einfärben.

Leider fällt mir, dass Wissen, dieses umzusetzen und würde mich freuen, wenn mir einer auf die Sprünge helfen könnte.

Ich habe schon ein wenig wenig herumexperiementiert aber ohne Erfolg.

Vielen Dank im voraus.

Sven

MrKnogge 9. Okt 2008 14:14

Re: VirtualTreeView Hintergrundfarbe setzen
 
Ich würde dir raten, den Hint komplett selber zu zeichnen.

edit
soory, habe hint statt header gelesen.

Piro 9. Okt 2008 15:07

Re: VirtualTreeView Hintergrundfarbe setzen
 
Für die Zeilenfarbe habe ich folgendes erfolgreich umgesetzt.
Delphi-Quellcode:
procedure Tfrm_main.VSTAfterItemErase(Sender: TBaseVirtualTree;
  TargetCanvas: TCanvas; Node: PVirtualNode; ItemRect: TRect);
begin
  if Sender.Selected[Node] then
    Exit;

  if Odd(Node.Index) then
    TargetCanvas.Brush.Color := clGradientInactiveCaption
  else
    TargetCanvas.Brush.Color := clWhite;

  TargetCanvas.FillRect (ItemRect);
end;
Jetzt fehlt mir nur noch der Header.

OG Karotte 9. Okt 2008 16:20

Re: VirtualTreeView Hintergrundfarbe setzen
 
Zitat:

Zitat von daywalker299
ich verwende den VirtualtreeView mit dem Header Style "hsXPStyle". Die Farbe des Headerhintergrund ist in "Gelb". Ich möchte gerne eine graue Farbe als Hintergrund.

Wenn ich mich recht entsinne, dann wird der Header doch im jeweils aktuellen XP-Theme gezeichnet. Hast Du denn bei Dir das XP-Theme geändert?


Ansonsten schau dir mal "AdvancedHeaderDraw" an ("HeaderDrawQueryElements" nicht vergessen richtig zu setzen).

Piro 14. Okt 2008 17:35

Re: VirtualTreeView Hintergrundfarbe setzen
 
Danke ich habe das Problem gelöst. Jippi.


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