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 [VST] Hintergründe der Einträge ragen über den Background (https://www.delphipraxis.net/132094-%5Bvst%5D-hintergruende-der-eintraege-ragen-ueber-den-background.html)

xZise 6. Apr 2009 00:59


[VST] Hintergründe der Einträge ragen über den Background
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo :)

Der Titel ist etwas gewöhnungsbedürftig, aber die Hintergründe der Einträge im VST ragen leider über den Background. Gibt es da eine Möglichkeit das zu verhindern?

MfG
xZise

stOrM 6. Apr 2009 07:33

Re: [VST] Hintergründe der Einträge ragen über den Backgroun
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm vielleicht machste was falsch? Zeig ma deinen Code?

hoika 6. Apr 2009 08:07

Re: [VST] Hintergründe der Einträge ragen über den Backgroun
 
Hallo,

also ich erkenne auf dem Bild nicht dein Problem.


Heiko

stOrM 6. Apr 2009 10:04

Re: [VST] Hintergründe der Einträge ragen über den Backgroun
 
Zitat:

Zitat von hoika
Hallo,

also ich erkenne auf dem Bild nicht dein Problem.


Heiko

Kuck Dir mal beide Bilder an und dann vergleich mal die Hintergrundgrafik, dann solltest du das Problem was einem mehr als ins Auge springt erkennen

Gruß
s!

xZise 6. Apr 2009 11:03

Re: [VST] Hintergründe der Einträge ragen über den Backgroun
 
Zitat:

Zitat von stOrM
Hmm vielleicht machste was falsch? Zeig ma deinen Code?

Naja das ist (im Moment noch) ziemlich verworren. Also mein OnPainBackground sieht so aus:
Delphi-Quellcode:
procedure TForm1.vstNetworkPaintBackground(Sender: TBaseVirtualTree;
  TargetCanvas: TCanvas; R: TRect; var Handled: Boolean);
var
  BlendRec: TBlendFunction;
  Bitmap : TBitmap;
begin
  Handled := True;

  BlendRec.BlendOp := AC_SRC_OVER;
  BlendRec.BlendFlags := 0;
  BlendRec.SourceConstantAlpha := 255;
  BlendRec.AlphaFormat := AC_SRC_ALPHA;

  Bitmap := TVirtualStringTree(Sender).Background.Bitmap;

  Windows.AlphaBlend(TargetCanvas.Handle,
    R.Right - Bitmap.Width, R.Bottom - Bitmap.Height, Bitmap.Width,
    Bitmap.Height, Bitmap.Canvas.Handle, 0, 0,
    Bitmap.Width, Bitmap.Height, BlendRec);
end;
Und das Erstellen des VST so:
Delphi-Quellcode:
  FOwnFiles := TSLFileTree.Create(nil);
  with FOwnFiles do
  begin
    Name := 'FOwnFiles';
    Parent := TabSheet1;
    Left := 0;
    Top := 34;
    Width := 732;
    Height := 483;
    Anchors := [akLeft, akTop, akRight, akBottom];
    Images := ilImageCollection;
    TabOrder := 1;
//    LoadFromDirectory(FFiles); --> Befüllt nur mit Daten!
    TreeOptions.PaintOptions := TreeOptions.PaintOptions + [toStaticBackground, toUseExplorerTheme];
    OnPaintBackground := vstNetworkPaintBackground;
  end;
Beziehungsweise das Create:
Delphi-Quellcode:
constructor TSLFileTree.Create(AOwner: TComponent);
begin
  inherited;
  Header.Options := Header.Options + [hoVisible, hoDblClickResize, hoShowSortGlyphs] - [hoDrag];
  LineStyle := lsSolid;
  //TreeOptions.PaintOptions := TreeOptions.PaintOptions - [toShowRoot] + [toShowHorzGridLines, toShowVertGridLines];
  //TreeOptions.SelectionOptions := TreeOptions.SelectionOptions + [toFullRowSelect, toMultiSelect];
  TreeOptions.AutoOptions := TreeOptions.AutoOptions + [toAutoSort];
  TreeOptions.MiscOptions := TreeOptions.MiscOptions + [toEditable];
  NodeDataSize := SizeOf(TSLFileBase);

  with Header.Columns do
  begin
    with Add do
    begin
      Position := 0;
      Text := 'Virtueller Dateiname';
    end;
    with Add do
    begin
      Position := 1;
      Text := 'Anzahl Dateien/Ordner';
    end;
    with Add do
    begin
      Position := 2;
      Text := 'Datei/Ordnergröße';
    end;
    with Add do
    begin
      Position := 3;
      Text := 'Typ';
    end;
    with Add do
    begin
      Position := 4;
      Text := 'Zugriff';
    end;
  end;

  OnNewText := SelfOnNewText;
  OnFocusChanged := SelfOnFocusChanged;
end;
MfG
xZise


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