AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Extrahieren des ICONs von BELIEBIGEM Dateityp?
Thema durchsuchen
Ansicht
Themen-Optionen

Extrahieren des ICONs von BELIEBIGEM Dateityp?

Ein Thema von stho · begonnen am 25. Mär 2010 · letzter Beitrag vom 26. Mär 2010
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#11

Re: Extrahieren von ICON von BELIEBIGER Datei?

  Alt 25. Mär 2010, 18:10
Zitat von invalid_operation:
Beantrage eine runde 3 wegen der etwas unscharfen Fragestellung
Über Noten wird nicht verhandelt
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#12

Re: Extrahieren des ICONs von BELIEBIGEM Dateityp?

  Alt 26. Mär 2010, 08:29
Delphi-Quellcode:
uses ShellAPI, Math;

function GetFileIcon(AFileName: String; ASmall: Boolean = True; AIndex: Integer = 0): HIcon;
var
  LDummy: HIcon;
  LInfo: TSHFileInfo;
begin
  LDummy := 0;
  If ExtractIconEx(PChar(AFileName), -1, LDummy, LDummy, 0) <> 0 then
  begin
    If ASmall then ExtractIconEx(PChar(AFileName), AIndex, LDummy, Result, 1)
      else ExtractIconEx(PChar(AFileName), AIndex, Result, LDummy, 1);
  end else begin
    SHGetFileInfo(PChar(SysUtils.ExtractFileExt(AFileName)),
      FILE_ATTRIBUTE_NORMAL, LInfo, SizeOf(TSHFileInfo),
        IfThen(ASmall, SHGFI_SMALLICON, SHGFI_LARGEICON) or
          SHGFI_ICON or SHGFI_USEFILEATTRIBUTES);
    Result := LInfo.HIcon;
  end;
end;
Die Funktion gibt das Icon-Handle von jeder beliebigen Datei zurück - wenn die Datei keines besitzt, wird eben das Standard-Windows-Icon geholt. Läuft bei mir auf D2009, sollte aber auch auf anderen laufen ...
Wenn ASmall true ist gibt es an, dass kleine Icons geholt werden (16x16), bei false große (32x32). Warum Windows das so komisch macht und man keine Chance hat an evtl. vorhandene andere Größen ran zu kommen weiß ich net

Ich hoffe das läuft und ist das, was du wolltest

PS: Die Unit Math kann raus, wenn man das "IfThen" umgeht.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
stho

Registriert seit: 16. Sep 2009
Ort: 127.0.0.1
288 Beiträge
 
Delphi 2007 Professional
 
#13

Re: Extrahieren des ICONs von BELIEBIGEM Dateityp?

  Alt 26. Mär 2010, 10:13
Zitat von Deep-Sea:
Delphi-Quellcode:
uses ShellAPI, Math;

function GetFileIcon(AFileName: String; ASmall: Boolean = True; AIndex: Integer = 0): HIcon;
var
  LDummy: HIcon;
  LInfo: TSHFileInfo;
begin
  LDummy := 0;
  If ExtractIconEx(PChar(AFileName), -1, LDummy, LDummy, 0) <> 0 then
  begin
    If ASmall then ExtractIconEx(PChar(AFileName), AIndex, LDummy, Result, 1)
      else ExtractIconEx(PChar(AFileName), AIndex, Result, LDummy, 1);
  end else begin
    SHGetFileInfo(PChar(SysUtils.ExtractFileExt(AFileName)),
      FILE_ATTRIBUTE_NORMAL, LInfo, SizeOf(TSHFileInfo),
        IfThen(ASmall, SHGFI_SMALLICON, SHGFI_LARGEICON) or
          SHGFI_ICON or SHGFI_USEFILEATTRIBUTES);
    Result := LInfo.HIcon;
  end;
end;
Die Funktion gibt das Icon-Handle von jeder beliebigen Datei zurück - wenn die Datei keines besitzt, wird eben das Standard-Windows-Icon geholt. Läuft bei mir auf D2009, sollte aber auch auf anderen laufen ...
Wenn ASmall true ist gibt es an, dass kleine Icons geholt werden (16x16), bei false große (32x32). Warum Windows das so komisch macht und man keine Chance hat an evtl. vorhandene andere Größen ran zu kommen weiß ich net

Ich hoffe das läuft und ist das, was du wolltest

PS: Die Unit Math kann raus, wenn man das "IfThen" umgeht.
ich bedanke mich vielmals für deine hilfe ^^
Ich kann den Code leider erst heute abend ausprobieren. (bin an der arbeit...)
Ich melde mich dann aber wenn ich es damit geschafft habe

  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#14

Re: Extrahieren des ICONs von BELIEBIGEM Dateityp?

  Alt 26. Mär 2010, 15:37
ich glaub zwar, das das hier im Grunde das gleiche ist: http://www.delphipraxis.net/internal...037769#1037769
Allerdings handelt es sich hierbei um eine TImageList, die man doch recht simpel verwenden kann (wenn so was gefragt wird)

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 02:12 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