Zitat von
richard_boderich:
... Ich habe schon versucht die Callback Procedure-Definition zu ändern um Nutzer-Variablen mitgeben zu können, die die Ausblendungskriterien im Callback steuern sollen, bin jedoch gescheitert. ...
Hai Richard,
der Callbackprocedure wird doch ein Pointer übergeben.
procedure HideNodes(Sender: TBaseVirtualTree; Node: PVirtualNode; Data: Pointer; var Abort: Boolean);
Du kannst jetzt ja z.B. ein Integer in den Pointer casten und darüber die Auswertung machen.
Delphi-Quellcode:
vst.BeginUpdate;
try
vst.IterateSubtree(NIL, HideNodes, Pointer(2), [], True);
finally
vst.EndUpdate;
end;
Delphi-Quellcode:
procedure TFrm_Objektliste.HideNodes(Sender: TBaseVirtualTree; Node: PVirtualNode;
Data: Pointer; var Abort: Boolean);
begin
if (Integer(Data) = 0) then // Alle Anzeigen
begin
Sender.IsVisible[node] := True;
end;
if (Integer(Data) = 2) then
begin
if (Irgendeinvergleich) then
begin
Sender.IsVisible[node] := False;
end;
end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"