/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Hente default-ikoner til en TImage
Fra : ironman


Dato : 23-08-01 00:31

Kunne nogen fortælle mig hvordan jeg får en TImage til at vise 16x16
pixels-udgaven af et ikon, som er associeret til en fil? (Fx 16x16
pixels ikonet for en .mp3 fil.)r gav mig et svar,men det var vist i exel og


--
Leveret af:
http://www.kandu.dk/
"Vejen til en hurtig løsning"


 
 
Thomas Rose (26-08-2001)
Kommentar
Fra : Thomas Rose


Dato : 26-08-01 19:30

Hej "Ironman",

for at udtrække et registreret ikon kan du anvende SHGetFileInfo, der er
defineret i ShellAPI modulet. Følgende funktion kan udtrækker et HICON
(handle til et ikon) ud fra et givent filnavn:

function GetSmallIconHandle(const aFileName : string):HICON;
// Returns the HICON (icon handle) corresponding to the small icon
// associated with aFileName
var
SFI: TSHFileInfo;
begin
SHGetFileInfo(PChar(aFileName), 0, SFI, SizeOf(TSHFileInfo), SHGFI_ICON or
SHGFI_SMALLICON);
Result := SFI.hIcon;
end;

Funktionen trækker 16x16 ikonet ud... for at få 32x32 versionen, anvendes
"SHGFI_LARGEICON" istedet for "SHGFI_SMALLICON". For at få dette handle til
et mere konkret ikon, skal du blot oprette et TIcon object og tildele
handle't til objektet:

var
HandleSmall : HICON;
IconSmall : TIcon;
begin
// Extract the small icon
HandleSmall := GetSmallIconHandle(aFileName);

// Initialize the small icon
IconSmall := TIcon.Create;
IconSmall.Width := 16; IconSmall.Height := 16;
IconSmall.Handle := HandleSmall;

Herefter skulle det være en smal sag at få skrevet ikonet ud... håber det
kan bringe dig videre.

Cheers,
Thomas



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste