Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#40

Re: DAten der Festplatte in ner Treeview anzeigen

  Alt 16. Jul 2004, 07:40
Danke für die Aufmunterung. Aber dann hätte ich noch einen besseren Vorschlag. Setze nicht einfach "HasChildren" auf true, sondern prüfe ob das überhaupt notwendig ist. Folgende Änderung im Code von "Scan" macht das:
Delphi-Quellcode:
          // wenn das aktuelle Element ein Ordner ist,
          // dann diese Prozedur erneut aufrufen und
          // den Ordner scannen lassen
          uAttr := SFGAO_CONTENTSMASK;
          iFolder.GetAttributesOf(1,pidlItem,uAttr);
          tn.HasChildren := (SFGAO_HASSUBFOLDER and uAttr <> 0);


Jetzt müsste man IMHO nur entweder den kompletten Pfad oder die PItemIdList des aktuellen Ordners im TTreeNode speichern (Stichwort: Data = pointer), dann kann man beim Anklicken eines Knotens die entsprechenden Unterordner laden. Denke ich ...


PS: Ich hänge einfach mal die nonVCL-Version ran, an der ich heute nebenbei gesessen habe. Es ist eine recht einfache Variante, die die jeweiligen IDs in einer Klasse speichert und jedem Knoten zuordnet. Daher geht das Scannen der Partition jetzt tatsächlich recht fix, und die Unterordner werden eigentlich erst beim Aufklappen "geladen".
Angehängte Dateien
Dateityp: zip tv-nonvcl.zip (11,4 KB, 71x aufgerufen)
  Mit Zitat antworten Zitat