Ver Mensaje Individual
  #3  
Antiguo 28-04-2008
[David] David is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Málaga
Posts: 417
Reputación: 22
David Va por buen camino
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;

// luego llamo a la función así
produre TForm1.btnClick();
var
 icono : hIcon;
begin
icono := ObtenerIcono('Archivo.pdf'); // o el nombre que sea
 Image1.Picture.Icon.Handle := icono; // Image1 es un TImage.
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
Responder Con Cita