AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte ListView Komponente mit Shellicons (Virtual ListView)
Thema durchsuchen
Ansicht
Themen-Optionen

ListView Komponente mit Shellicons (Virtual ListView)

Ein Thema von F.W. · begonnen am 5. Mai 2005 · letzter Beitrag vom 7. Aug 2005
Antwort Antwort
Benutzerbild von F.W.
F.W.
Registriert seit: 28. Jul 2003
Da ist sie nun also! Mein ListView mit ShellIcons.

Die Benutzung sieht folgendermaßen aus:
Die Items sind selbst zu erstellen bzw. zu entfernen ect. Das hat den Vorteil, dass die Kompo sehr variabel einsetzbar ist. Beispiele für Anwendungsgebiete sind FTP-Verzeichnisse auflisten, lokal Verzeichnisse auflisten oder wie bei mir, wenn Dateien mit verschiedenen Dateitypen in einer Datei gespeichert sind und dieser Inhalt aufgelistet werden soll...

Wie die Icons zugewiesen werden:
Je nachdem in welchem Index nach einem Dateinamen gesucht werden soll, wird dann die evtl. vorhandene Endung benutzt um das Dateisymbol und den Dateityp herauszubekommen, wenn keine Dateierweiterung gefunden wird, wird die "Datei" als Dateiodner oder unbekannte Datei eingestuft (bekommt das dementsprechende Icon)

Wichtige Eigenschaften sind folgende:
  • SmallShellIconsLoaded: Boolean - gibt an, ob die ShellIcons schon geladen wurden (wird durch Aufruf von LoadShellIcons True)
  • BigShellIconsLoaded: Boolean - gibt an, ob die ShellIcons schon geladen wurden (wird durch Aufruf von LoadShellIcons True)
  • SmallShellImages: TImageList - dort werden die kleinen ShellIcons geladen (von Windows) diese Liste sllte nicht greigegeben werden (.Free)!
  • BigImages: TImageList - dort werden die großen ShellIcons geladen (von Windows) diese Liste sllte nicht greigegeben werden (.Free)!
  • UseBigImages: Boolean - ob große Icons angezeigt werden sollen (nur im ViewStyle vsIcon)
  • UseSmallImages: Boolean - ob kleine Icons angezeigt werden sollen (in den drei anderen ViewStyles)
  • IndexFileExtension: Integer - gibt an, wo der Dateiname für das Symbol ist (-2 = nirgends | -1 = Caption | 0..? SubItems)
  • IndexTypeAusgabe: Integer - gibt an, in welchem SubItem/Caption der Name des Dateityps ausgegeben werden soll (-2 = nirgends | -1 = Caption | 0.. SubItems)
  • IndexFileOrOrdner: Integer - es gibt Dateien ohne Endung, die würden als Ordner erkannt werden, wenn man soein Item einfügt kann man ihm dennoch ein Dateisymbol (das Standart UNBEKANNTE DATEI Symbol geben) -1 wenn nicht benutzt; 0..? im jeweiligen SubItem muss etwas stehen damit das Dateisymbol angezeigt wird

Prozeduren/Funktionen:
  • LoadShellIcons - wird hauptsächlich intern genutzt (zum Laden der ShellIcons von Windows)
  • UpdateIcons - alle Items werden mit dem entsprechenden Icon versehen
  • UpdateIcon(const Index: Integer) - zum Aktualisieren des Symbols eines einzigen Items

Zu Fehlern kann bei den Eigenschaften Use...Images kommen, nachdem auf False setzen und dann wieder auf True setzen, werden unter Umständen die Icons nicht wieder angezeigt

Schreibt was ihr von der Kompo haltet und was man noch alles ändern könnte!!
Angehängte Dateien
Dateityp: zip test_112.zip (7,7 KB, 166x aufgerufen)
Dateityp: zip shelliconlistview_446.zip (2,3 KB, 124x aufgerufen)
 
Killer

 
Delphi 6 Enterprise
 
#2
  Alt 30. Jul 2005, 23:17
So ein "alter" Thread und kein Feedback hmm. Hab grad zufällig über die SuFu diesen Thread gefunden und mir die Kompo gezogen und installt. Gefällt mir soweit ganz gut, kann ich auch gebrauchen. Mal sehen ob ich während des Proggens irgendwelche Fehler oder Verbesserungswünsche finde

Sieht sonst super aus
  Mit Zitat antworten Zitat
Benutzerbild von F.W.
F.W.
 
#3
  Alt 6. Aug 2005, 20:15
Danke!

Die Datei/Ordner-Unterscheidung ist ein wenig umständlich, wenn man größeres/komplexeres plant, sollte man etwas eigenes bauen, aber für zwischendurch mal was kleines, quasi wenns schnell gehen soll denke ich geht's
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead
 
#4
  Alt 6. Aug 2005, 20:19
was ist daran "Virtual"?
  Mit Zitat antworten Zitat
Benutzerbild von F.W.
F.W.
 
#5
  Alt 7. Aug 2005, 12:25
Zitat von dahead:
was ist daran "Virtual"?
Keine Ahnung, aber Borland liefert die Demo "Virtual ListView" mit, die die Darstellung von ShellIcons in der eigenen ListView veranschaulicht.
Daher bin ich davon ausgegangen, dass das so heißt
Verbesser mich wenn Virtual ListView etwas anderes ist!
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead
 
#6
  Alt 7. Aug 2005, 12:57
naja, also was an der borland demo "virtual" sein soll, kann ich dir auch nicht sagen.
allerdings verstehe ich unter virtuell was anderes. deine listview erscheint mir eher als eine art shell listview. was mich wundert ist, dass du dein zip file sowie deine komponente ja selbst auch nicht "virtual" sondern eben "shell" nennst. warum also den thread nicht?

eine richtige "virtual listview" findest du unter http://www.soft-gems.net/VirtualTreeview/
eine shell-listview die auf dieser basiert findest du unter http://www.mustangpeak.net/vstools.htm

das "virtual" daran ist, dass die listview selbst nichts über die daten weiß, die sie anzeigt (einzig die größe).
  Mit Zitat antworten Zitat
Benutzerbild von F.W.
F.W.
 
#7
  Alt 7. Aug 2005, 16:18
Zitat:
das "virtual" daran ist, dass die listview selbst nichts über die daten weiß, die sie anzeigt (einzig die größe)
Kannst du mir das mal näher erläutern? Wie meinst du das DIE LISTVIEW WEIß NICHTS ÜBER IHRE DATEN?
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead
 
#8
  Alt 7. Aug 2005, 16:31
kuck dir doch mal den link an, da steht alles was man wissen muss. ich zitier dir mal das wichtigste:

Zitat:
As the name already indicates, this control uses a different paradigm for tree management than other controls of this kind. It does not know anything about the data it manages (except its size), not even the captions of a node. Everything is retrieved from the application via events (or descendants via overridden methods).
Zitat:
Wie meinst du das DIE LISTVIEW WEIß NICHTS ÜBER IHRE DATEN?
du teilst der VirtualTreeview (VTV) nur die größe deiner darzustellenden daten mit. den rest macht sie mehr oder weniger selbst.
sobald die VTV auf die anzuzeigenden daten zugreifen muss, liest sie diese aus - und erst dann. aber da das hier ja nicht der platz für diskussionen zur VTV ist, verweise ich (falls dich das überhaupt interessiert) mal auf folgendes anfänger tutorial: http://www.delphi-treff.de/content/tutorials/vstkurs/

da du ja aber mtwl. den thread titel geändert hast, ist egtl. alles in ordnung.
  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 18:00 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