Hallo,
ich habe eine Anwendung, die eine VirtualStringTree mit SpinEdits (siehe anbei Screenshot) enthält, das funktioniert auch sehr gut. Ich würde gerne nun die TreeViewPresenter (DSharp) zur Steuerung der VirtualStringTree einsetzen. Ich scheitere aber daran, dass die Platzierung der SpinEdits in VST durch den TreeViewPresenter nicht mehr durch den Befehl "VST.GetDisplayRect(node, 3, false)" funktioniert, da anscheinend der TreeViewPresenter es anders zeichnet. Hat wer dazu eine Idee?
Bisher mache ich die Grössenanspassung der SpinEdits in die VST Zelle so:
Delphi-Quellcode:
procedure TForm1.VSTColumnResize(Sender: TVTHeader; Column: TColumnIndex);
begin
VST.IterateSubtree(nil, VSTCallback, nil);
end;
procedure TForm1.VSTCallback(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
var
CellRect: TRect;
d: TNodeData;
begin
d:=TNodeData(VST.GetNodeData(node)^);
CellRect:=VST.GetDisplayRect(node, 3, false);
with d.SpinEdit do
begin
Left:=CellRect.Left;
Width:=CellRect.Right-CellRect.Left;
Top:=CellRect.Top;
Height:=CellRect.Bottom-CellRect.Top;
end;
end;
lg,
jus