Veo el ejemplo para un TListView, con este código:
Código Delphi
[-]
const
shgfiIconIndex = SHGFI_SYSICONINDEX or SHGFI_USEFILEATTRIBUTES;
var
ShFileInfo: TShFileInfo;
begin
ShGetFileInfo(PChar(FName), 0, ShFileInfo, SizeOf(ShFileInfo), shgfiIconIndex);
El caso es que no sé aún donde poner el icono, si en TImage o en un Grid, pero si me gustaría que la función me devolviera un TIcon.
He hecho esto, pero no me ha funcionado.
Código Delphi
[-]
function TForm1.ObtenerIcono(Archivo:String):hIcon;
const
shgfiIconIndex = SHGFI_SYSICONINDEX or SHGFI_USEFILEATTRIBUTES;
var
ShFileInfo: TShFileInfo;
begin
ShGetFileInfo(PChar(FName), 0, ShFileInfo, SizeOf(ShFileInfo), shgfiIconIndex);
Result := ShFileInfo.hIcon;
end;
produre TForm1.btnClick();
var
icono : hIcon;
begin
icono := ObtenerIcono('Archivo.pdf'); Image1.Picture.Icon.Handle := icono; end;
Pero en el TImage, no se dibuja nada, sería interesante recuperar el icono como imagen bitmat or TIcon o de las dos maneras.
Un saludo