Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

Re: Bestimmtes Icon aus Shell32.dll laden

  Alt 13. Nov 2009, 12:53
Zitat von OregonGhost:
Ich werfe nur mal dies ein:

When programs assume that the system will never change, episode 1

Fazit: Wenn's ein Ordner sein soll, kannst du dir das Icon des Ordners (oder eines beliebigen) mit MSDN-Library durchsuchenSHGetFileInfo besorgen. Aber lieber nicht aus irgendeiner System-DLL klauen.
Ich assume eigentlich normalerweise nicht, dass das System will never change
Deswegen habe ich ursprünglich ja nach irgendwelchen Konstanten gefragt

Die Methode mit SHGetFileInfo funktioniert soweit ganz gut
Die Icons sehen nur nicht.. so schön aus.. Mein Code:

Delphi-Quellcode:
var ico: TIcon;
    fi: TSHFILEINFO;
    len: Cardinal;
begin
  ico := TIcon.Create;
  try
    len := SizeOf(TSHFILEINFO);
    FillChar(fi,len,0);
    SHGetFileInfo('C:\Windows',0,fi,len,SHGFI_ICON or SHGFI_SMALLICON);
    ico.Handle := fi.hIcon;
    imlTreeView.AddIcon(ico); // TImageList
  finally
    ico.Free;
  end;
end;
Keine Angst - Das 'C:\Windows' ist nur testweise
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat