![]() |
Color im VirtualStringTree
Hallo Leute,
vielleicht steh ich gerade neben den Schuhen, aber ich bekomme es nicht hin, die Farbe der Header im VirtualStringTree zu ändern :gruebel: Mit "Background" funktioniert das ganze nicht ? Kannn mir jemand helfen ? Gruß Matthias |
Re: Color im VirtualStringTree
Die Eigenschaft Colors (bzw. deren Subeinträge) sollten dir weiterhelfen :)
|
Re: Color im VirtualStringTree
Hallo Ghostwalker,
diese hatte ich mir auch schon angeschaut, aber keine von denen ändert meine Header-Color. Muss ich vielleicht noch irgendwo eine "versteckte" Option aktivieren oder so ? Gruß Matthias |
Re: Color im VirtualStringTree
Öhm..nicht das ich wüßte. Wenns standardmäßig nicht funzt, könntest du den Header u.U. auch selbst zeichnen (ownerdraw).
Ich hab die Problematik bisher nicht gehabt :) Evtl. stört die Option ThemeAware auch. [Edit] Ein Blick in die Newsgroup hat mir verraten das das nur über OwnerDraw geht. Dazu die Option Ownerdraw für den Header aktivieren und dann das Event "OnAdvancedHeaderDraw" nutzen. Beispielschnipsel:
Delphi-Quellcode:
PaintInfo.TargetCanvas.Brush.Color := $00A04A44;
If PaintInfo.Column <> nil then DrawFrameControl(PaintInfo.TargetCanvas.Handle, PaintInfo.PaintRectangle,DFC_BUTTON,DFCS_FLAT or DFCS_ADJUSTRECT); PaintInfo.TargetCanvas.FillRect(PaintInfo.PaintRectangle); |
Re: Color im VirtualStringTree
Der HINTERGRUND im Header bezieht sich meines wissens nur auf die ungenutzten Bereiche im Header. Und dies auch nur wenn ThemeAware unter PaintOptions false ist UND unter Header->Style NICHT hsXPStyle ausgewählt ist. Willst Du die Hintergrundfarbe der Header (also der Spaltenüberschriften) ändern musst Du die Funktionen AdvancedHeaderDraw in Verbindung mit HeaderDrawQueryElements nutzen (nicht vergessen ownerdraw zusetzen).
[Edit:] Upps, roter Kasten übersehen. [/Edit] Aber: HeaderDrawQueryelements sollte gesetzt werden
Delphi-Quellcode:
Damit hast Du auch gleich alle Möglichkeiten offen, die Header Deinen eigenen Wünschen (Schriftart /- Stil, Mehrzeilig usw.) anzupassen.
procedure TfrmMain.MyVSTHeaderDrawQueryElements(Sender: TVTHeader;
var PaintInfo: THeaderPaintInfo; var Elements: THeaderPaintElements); begin Elements := [hpeBackground]; end; . . . procedure TfrmMain.MyVSTAdvancedHeaderDraw(Sender: TVTHeader; var PaintInfo: THeaderPaintInfo; const Elements: THeaderPaintElements); if (hpeBackground in Elements then begin //z.B. Code von Ghostwalker end; |
Re: Color im VirtualStringTree
:hello: funktioniert wunderbar, danke für eure Hilfe !!
Gruß Matthias |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 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