![]() |
VirtualStringTree mit eingebetteten Controls in Selection?
Hallo,
gibt es irgend einen Ansatz, die Komponente VirtualStringTree/VirtualDrawTree (oder überhaupt Listcontrols) dahingehend zu erweitern, das die aktuell ausgewählte Zeile um andere Controls erweitert wird? z.B. um Buttons oder Labels. In WPF klappt das ja super einfach. Nur mit Win32 muss man wahrscheinlich einmal zum Mond und zurück. Sven |
Re: VirtualStringTree mit eingebetteten Controls in Selectio
Hi,
ich bin mir jetzt nicht sicher ob ich die Frage richtig verstanden habe, aber wenn es darum geht andere Controls wie z.b. eine Progressbar im VST anzuzeigen für jede Node dann wird das ungefähr so gemacht:
Delphi-Quellcode:
Viele Grüsse
type
TNodeData = record Bar : TProgressBar; Caption : String; //das mit dem Record hab ich mir so angewöhnt :) end; PNodeData = ^TNodeData; procedure Tform_Main.btn_AddItemClick(Sender: TObject); var Node : PVirtualNode; NData : PNodeData; begin Tv.BeginUpdate; Node:=Tv.AddChild(tv.RootNode); NData:=Tv.GetNodeData(Node); NData.Caption:=TimeToStr(Now); NData.Bar:=TProgressBar.Create(TV); NData.Bar.Parent:=Tv; Ndata.Bar.Position:=Random(Ndata.Bar.Max); Tv.EndUpdate; end; procedure Tform_Main.TVAfterCellPaint(Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode; Column: TColumnIndex; CellRect: TRect); var NData : PNodeData; begin if Column=1 then begin NData:=Tv.GetNodeData(Node); if Assigned(NData) then begin CellRect:=Tv.GetDisplayRect(Node,Column,false); NData.Bar.Left:=CellRect.Left; Ndata.Bar.Top:=CellRect.Top; NData.Bar.Width:=CellRect.Right-CellRect.Left; NData.Bar.Height:=CellRect.Bottom-CellRect.Top; //Ndata.Bar.PaintTo(TargetCanvas,CellRect.Left,CellRect.Top); end; end; end; procedure Tform_Main.TVGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: WideString); var NData : PNodeData; begin NData:=Tv.GetNodeData(Node); CellText:=NData.Caption; end; s! |
Re: VirtualStringTree mit eingebetteten Controls in Selectio
genau das meine ich, danke.
Ich probiers aus. Sven |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:10 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