Einzelnen Beitrag anzeigen

Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#2

Re: GetFileIcon + Hintergrund Problem - Transparenz?

  Alt 13. Apr 2009, 15:30
Ich habe etwas gefunden und es klappt auch schon ganz gut.

Vorweg, ich arbeite mit 3 ImageListen. Eine Fixe(enthält 5 Icons), eine Variable und Ein, die alles enthält. Desweiteren benutze ich 2 Forms, die diese ImageListen benutzen. Die 2. Form ist eine Art Icon Übersicht (auswählen, hinzufügen, löschen).

Delphi-Quellcode:
procedure Tfrm_main.FormCreate(Sender: TObject);
var
  SHFileInfo: TSHFileInfo;
  SysIcons: THandle;
begin
  try
    SysIcons := SHGetFileInfo(PChar(copy(ParamStr(0), 1, 3)), 0, SHFileInfo,
      SizeOf(SHFileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON or
      SHGFI_ICON);
  finally
    DestroyIcon(SHFileInfo.hIcon);
  end;
  imgl_all.Handle := SysIcons;
  imgl_all.Clear;
...
  // ImageList Variable laden
  if FileExists(AppPath + 'icons.imgl') then
    ReadComponentResFile(AppPath + 'icons.imgl', imgl_variable);
...
  // ImageList zusammensetzen
  imgl_all.Clear;
  imgl_all.AddImages(imgl_fix);
  imgl_all.AddImages(imgl_variable);
End;
Die Icons werden jetzt ohne scharzen Rand angezeigt. Aber wenn ich einen OpenDialog öffne werden einige System / Standard Icons falsch dargestellt. Öffne ich die 2. Form erneut und möchte ein Icon aus einer Datei mit Hilfe des OpenDialog ermitteln, sind die Standard Icons zum größten Teil weg. Sehr merkwürdig.

Wie muss ich das OnCreate Event anpassen?
  Mit Zitat antworten Zitat