Einzelnen Beitrag anzeigen

oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Virtual TreeView Nodes anzeigen verbergen

  Alt 20. Mär 2009, 09:01
Hi generic,

dank für die Antwort. Ich hatte mir parallel das PDF zum VirtualTree genauer zu Gemüte geführt und dabei die Eigenschaft NodeState gefunden. Genau wie du beschrieben hast verwende ich jetzt den Typ vsVisible der Nodes zum Ein-/Ausblenden.
Da ich das über einen zentralen Schalter mache kann ich den gesamten Tree einmal abarbeiten und die entsprechenden Nodes bearbeiten.
Hier mein Code:
Delphi-Quellcode:
procedure TSettingsStyleForm.VisualizeAllNodes(Value: Boolean);
var
  ANode: PVirtualNode;
  AData: ^TVTData;
begin
  ANode := VTree.GetFirst;
  if ANode = nil then
    Exit;
  try
    VTree.BeginUpdate;
    while not (ANode = nil) do begin
      AData := VTree.GetNodeData(ANode);
      if AData.DataType = snt_Param then begin // ich möchte dies nur für Nodes tun die meinem eigenen Typ snt_Param entsprechen
        if not Value then begin // nur die Nodes anzeigen, die in den eingeblendeten Checkboxen angewählt sind
          if ANode.CheckState = csUncheckedNormal then
            ANode.States := ANode.States - [vsVisible]
          else
            ANode.States := ANode.States + [vsVisible];
        end else
          ANode.States := ANode.States + [vsVisible]; // alle anzeigen
      end;
      ANode := VTree.GetNext(ANode);
    end;
  finally
    VTree.EndUpdate;
  end;
end;
Dank für deine Hilfe. Damit ist die Frage beantwortet,

Gruß oki
42
  Mit Zitat antworten Zitat