AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Color im VirtualStringTree

Ein Thema von onkelmehli · begonnen am 21. Aug 2007 · letzter Beitrag vom 21. Aug 2007
Antwort Antwort
onkelmehli

Registriert seit: 8. Mär 2006
119 Beiträge
 
Delphi 2007 Professional
 
#1

Color im VirtualStringTree

  Alt 21. Aug 2007, 16:17
Hallo Leute,

vielleicht steh ich gerade neben den Schuhen, aber ich bekomme es nicht hin, die Farbe der Header im VirtualStringTree zu ändern
Mit "Background" funktioniert das ganze nicht ?

Kannn mir jemand helfen ?

Gruß Matthias
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Color im VirtualStringTree

  Alt 21. Aug 2007, 16:33
Die Eigenschaft Colors (bzw. deren Subeinträge) sollten dir weiterhelfen
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
onkelmehli

Registriert seit: 8. Mär 2006
119 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Color im VirtualStringTree

  Alt 21. Aug 2007, 16:39
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
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Color im VirtualStringTree

  Alt 21. Aug 2007, 16:51
Ö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);
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
OG Karotte
(Gast)

n/a Beiträge
 
#5

Re: Color im VirtualStringTree

  Alt 21. Aug 2007, 16:58
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:
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;
Damit hast Du auch gleich alle Möglichkeiten offen, die Header Deinen eigenen Wünschen (Schriftart /- Stil, Mehrzeilig usw.) anzupassen.
  Mit Zitat antworten Zitat
onkelmehli

Registriert seit: 8. Mär 2006
119 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Color im VirtualStringTree

  Alt 21. Aug 2007, 17:25
funktioniert wunderbar, danke für eure Hilfe !!

Gruß Matthias
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:05 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