AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein VirtualStringTree Header Hintergrund
Thema durchsuchen
Ansicht
Themen-Optionen

VirtualStringTree Header Hintergrund

Ein Thema von Zodi · begonnen am 15. Aug 2024
Antwort Antwort
Benutzerbild von Zodi
Zodi

Registriert seit: 19. Jul 2017
Ort: Berlin
47 Beiträge
 
Delphi XE7 Ultimate
 
#1

VirtualStringTree Header Hintergrund

  Alt 15. Aug 2024, 19:53
Hi Delphianer

Ich übe mich mit dem VirtualStringTree und habe versucht die Header Hintergrund Farfe zu ändern.
Dies habe ich geschafft aber nun sind leider die Seperatoren weg.
Was mache ich da falsch?

hier mal der Code

Delphi-Quellcode:
procedure TForm1.VSTHeaderDrawQueryElements(Sender: TVTHeader; var PaintInfo: THeaderPaintInfo; var Elements: THeaderPaintElements);
begin
 Elements := [hpeBackground, hpeText];
end;


procedure TForm1.VSTHeaderDraw(Sender: TVTHeader; HeaderCanvas: TCanvas; Column: TVirtualTreeColumn; R: TRect; Hover, Pressed: Boolean; DropMark: TVTDropMarkMode);
begin
  // Hintergrund des Headers setzen
  HeaderCanvas.Brush.Color := clSkyBlue; // Hintergrundfarbe
  HeaderCanvas.FillRect(R);

  // Textfarbe und -eigenschaften einstellen
  HeaderCanvas.Font.Color := clWhite; // Textfarbe
  HeaderCanvas.Font.Name := 'Arial'; // Schriftart
  HeaderCanvas.Font.Size := 10; // Schriftgröße
  DrawText(HeaderCanvas.Handle, PChar(Column.Text), Length(Column.Text), R,
    DT_CENTER or DT_VCENTER or DT_SINGLELINE);

  // Separatoren zeichnen
  HeaderCanvas.Pen.Color := clBlack; // Farbe der Separatoren
  HeaderCanvas.Pen.Width := 1; // Breite der Separatorenlinie

  // Separatoren an den Rändern der Spalten zeichnen
  HeaderCanvas.MoveTo(R.Right - 1, R.Top);
  HeaderCanvas.LineTo(R.Right - 1, R.Bottom);

  // Optional: Separator am unteren Rand des Headers (falls benötigt)
  HeaderCanvas.MoveTo(R.Left, R.Bottom - 1);
  HeaderCanvas.LineTo(R.Right, R.Bottom - 1);
end;




procedure TForm1.VSTAdvancedHeaderDraw(Sender: TVTHeader; var PaintInfo: THeaderPaintInfo; const Elements: THeaderPaintElements);
begin
//

 if hpeBackground in Elements then
  begin
    PaintInfo.TargetCanvas.Brush.Color := clSkyBlue; // Hintergrundfarbe
    PaintInfo.TargetCanvas.FillRect(PaintInfo.PaintRectangle);

  end;

  if hpeText in Elements then
  begin
    PaintInfo.TargetCanvas.Font.Color := clBlack; // Textfarbe
    DrawText(PaintInfo.TargetCanvas.Handle, PChar(PaintInfo.Column.Text), Length(PaintInfo.Column.Text), PaintInfo.PaintRectangle,
      DT_CENTER or DT_VCENTER or DT_SINGLELINE);
  end;
end;
Grüsse Zodi
Pascal
  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 09:14 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