AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

VirtualStringTree - VisibleChildNodes count?

Ein Thema von taveuni · begonnen am 9. Aug 2023 · letzter Beitrag vom 9. Aug 2023
Antwort Antwort
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
533 Beiträge
 
Delphi 11 Alexandria
 
#1

VirtualStringTree - VisibleChildNodes count?

  Alt 9. Aug 2023, 11:40
Hallo zusammen,
Ich suche mir einen Wolf. Ein Tree wird per Eingabe gefiltert. Das geht sehr schnell über den IterateSubtree. Darin wird die Sichtbarkeit der betreffenden Nodes via dem Filterkriterium gesetzt.

Sender.IsVisible[Node]:= Match;

Diese gefilterten Nodes haben jeweils einen Parent. Nun möchte ich den Parent wenn er keine visible Childnodes mehr hat auch invisible setzen. Also:

Sender.IsVisible[Node.Parent] := Node.Parent.VisibleChildCount;

Leider gibt es dies nicht. Klar könnte ich nun bei jedem Iterate noch mal durch alle Childnodes des Parent iterieren und schauen ob es noch visible Nodes hat. Vermutlich geht das aber einfacher und ich finde es einfach nicht?
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.452 Beiträge
 
Delphi 12 Athens
 
#2

AW: VirtualStringTree - VisibleChildNodes count?

  Alt 9. Aug 2023, 12:39
Direkt den VisibleChildCount abfragen geht offenbar wirklich nicht, aber man kann sich zumindest etwas helfen:
Delphi-Quellcode:
  var parentVisible := False;
  for var dummy in Sender.VirtualChildNodes(Node.Parent) do begin
    parentVisible := True;
    Break;
  end;
  Sender.IsVisible[Node.Parent] := parentVisible;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
533 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: VirtualStringTree - VisibleChildNodes count?

  Alt 9. Aug 2023, 13:03
Hallo Uwe,

Vielen Dank. Ich hab doch noch einen gefunden. Kaum habe ich nach Stunden die Frage hier gestellt.

Delphi-Quellcode:

Sender.IsVisible[Node.Parent] := Not (vsAllChildrenHidden IN Node.Parent.States);
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz