![]() |
VST in bestimmte Column Linie zeichnen
Hi,
wie kann ich es realisieren, das in z.B Column 3 und 4 eine durch gezogene Linie zu sehen ist, aber nur in Row 4?
Delphi-Quellcode:
Gibt es leider keine Variable für Row oder wie kann ich das realisieren?
procedure TFormKunden.VstPositionenGetText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: string); |
Re: VST in bestimmte Column Linie zeichnen
Um welche Row es gerade geht, erkennst du an dem Node bzw. dem NodeData.
|
Re: VST in bestimmte Column Linie zeichnen
Sender.AbsoluteIndex(Node)
|
Re: VST in bestimmte Column Linie zeichnen
es geht darum in Zeile 4 und spalte 3-4 eine Linie zu zeichen.
Kann mir das jemand erklären? |
Re: VST in bestimmte Column Linie zeichnen
Das schwierige dabei ist nur, den richtigen Event zu finden.
Allerdings - in OnGetText kannst du höchstens lauter Minus-Zeichen in die Zellen schreiben. Eine grafische Linie kannst du besser in OnAfterCellPaint malen.
Delphi-Quellcode:
procedure TfrmFoobar.vstAfterCellPaint(Sender: TBaseVirtualTree;
TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex; CellRect: TRect); var Y: Integer; begin if (Node.Index = 3) and (Column in [3, 4]) then begin Y := Round((CellRect.Bottom-CellRect.Top)/2); TargetCanvas.PenPos := Point(CellRect.Left, Y); TargetCanvas.LineTo(CellRect.Right, Y); end; end; |
Re: VST in bestimmte Column Linie zeichnen
> In VirtualTree wird eine Row Column genannt
Sicher, alles klar... Zeile wird Spalte genannt :) Nein, die Row ist eben Node bzw. Node.Index . |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 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