Zitat von
Christian Seehase:
doch, man kann auch nur die Extension nehmen, und erhält dann das korrekte
Handle auf das Icon in der Systemimagelist zurück.
Stimmt, mein Fehler
. Ich hatte vergessen, dass es das Flag
SHGFI_USEFILEATTRIBUTES gibt.
@Thunderchild: Was war jetzt dein Problem? Du hast Dateien vom
FTP-Server, die´s auf deinem Rechner u.U. nicht gibt. Und darum passen die Symbole nicht. Dann folgende Änderung (wie Christian das bereits angedeutet hat):
Delphi-Quellcode:
ZeroMemory(@fi,sizeof(fi));
SHGetFileInfo('.HxS',
FILE_ATTRIBUTE_NORMAL, <-- Dateiattribut
fi,sizeof(fi),
SHGFI_ICON or SHGFI_SYSICONINDEX or SHGFI_SMALLICON or
SHGFI_USEFILEATTRIBUTES); <-- Flag
In der "iIcon"-Membervariablen hast du jetzt den Index des HxS-Symbols. Du kannst auch einen Dateinamen angeben. Durch das o.g. Flag und das Dateiattribut spielt´s keine Rolle ob die Datei wirklich existiert oder nicht. Es ist als würde sie existieren.
PS: Ach nee, Lamy wollte das ja wissen.