Einzelnen Beitrag anzeigen

jus

Registriert seit: 22. Jan 2005
344 Beiträge
 
Delphi 2007 Professional
 
#1

TreeViewPresenter mit SpinEdit in VirtualStringTree verwenden

  Alt 1. Jun 2019, 20:39
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
Miniaturansicht angehängter Grafiken
vst.jpg  

Geändert von jus ( 1. Jun 2019 um 20:42 Uhr)
  Mit Zitat antworten Zitat