AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Anwendungs-Icons auslesen (für Dateimanager)

Anwendungs-Icons auslesen (für Dateimanager)

Ein Thema von Igotcha · begonnen am 26. Jan 2005 · letzter Beitrag vom 27. Jan 2005
Antwort Antwort
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#1

Anwendungs-Icons auslesen (für Dateimanager)

  Alt 26. Jan 2005, 09:08
Hallo zusammen,

ich schreibe gerade an einem Dateimanager, der in dem aktuellen Stand auch recht ordentlich funktioniert. Zur Darstellung der Verzeichnisstrukturen benutze ich den VirtualTreeView.

Jetzt möchte ich gerne bei den Dateien das entsprechende Anwendungs-Icon anzeigen lassen. Wie man an ein Anwendungs-Icon über die Registry kommt, würde ich hinbekommen, nur ist die Frage, wie man es am performantesten macht.

Mein Ansatz wäre:

1. bei jedem Auftauchen einen neuen Dateiendung
2. die Endung (z.B. "txt") in ein 2-Dimensionales Array schreiben
3. das Anwendungs-Icon in eine Imagelist packen und den Index des Bildes in der IL ebenfalls in das Array schreiben. Also z.B. ['text',2]
4. dann bei jeder weiteren Datei, die Dateiendung mit dem Array abgleichen, ob diese bereits darin vorhanden ist und wenn ja, den ImageIndex lesen und für die Datei setzen. Wenn die Endung noch nicht enthalten ist, wieder bei 1. beginnen.

Oder gibt es da einen besseren Ansatz?

Gruß Igotcha
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Anwendungs-Icons auslesen (für Dateimanager)

  Alt 26. Jan 2005, 09:13
Zitat von Igotcha:
Wie man an ein Anwendungs-Icon über die Registry kommt, würde ich hinbekommen, nur ist die Frage, wie man es am performantesten macht.
Ob es die performanteste Art ist, das weiß ich nicht, allerdings ist es der offizielle Windows-Weg: http://www.delphipraxis.net/internal...ect.php?t=1028

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Anwendungs-Icons auslesen (für Dateimanager)

  Alt 27. Jan 2005, 08:56
Ja danke Dir, kann ich gebrauchen, aber evtl. nicht bzgl. meiner Fragestellung

Wenn ich das richtig sehe, kann ich das benutzen, um das Icon abzufragen, welches man z.B. unter "Eigenschaften" im Kontextmenü einer Datei oder eines Ordners sieht.

Mit SHGFI_SMALLICON könnte ich auch ein kleines Icon bekommen.

Nur ist die Frage: Will und muss ich diese Procedure für jede Datei aufrufen, die ich durch rekursive Suche finde?

Ich benutze ja den VirtualTreeView nicht, um zum einen sehr performant eine Treeview-Sicht zu realisieren, auf der anderen Seite aber durch "Anzahl der gefundenen Dateien"-Aufrufe der o.g. Procedure das Anwendungs-Icon auszulesen und dadurch wieder einen Einbruch der Performance zu erhalten (was ein Satz hehe).

Fassen wir mal zusammen: Ich kenne jetzt 2 Möglichkeiten, das Anwendungsicon einer Datei zu ermitteln. Mir geht es aber unabhängig davon, wie ich technisch ein Icon auslese, darum, wie ich das im Rahmen einer rekursiven Dateiermittlung am performantesten gestalte (s. mein Ansatz über ein Array und eine Imagelist). Meine Lösung hätte aus meiner Sicht zumindest den Nachteil, dass es bei z.B. 100 Anwendungen/Dateitypen auch evtl. 100 verschiedene Icons in meiner Imagelist geben würde.

Gruß Igotcha
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:22 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