void __fastcall TForm1::GetIcon(AnsiString FileName)
{
SHFILEINFO sfi;
SHGetFileInfo(
FileName.c_str(),
FILE_ATTRIBUTE_NORMAL,
&sfi,
sizeof(SHFILEINFO),
SHGFI_ICON
);
TIcon* picon = new TIcon();
picon->Handle = sfi.hIcon;
Image1->Canvas->Pen->Color = clWhite;
{
SHFILEINFO sfi;
SHGetFileInfo(
FileName.c_str(),
FILE_ATTRIBUTE_NORMAL,
&sfi,
sizeof(SHFILEINFO),
SHGFI_ICON
);
TIcon* picon = new TIcon();
picon->Handle = sfi.hIcon;
Image1->Canvas->Pen->Color = clWhite;
Image1->Canvas->Brush->Color = clWhite;
Image1->Canvas->Rectangle( 0, 0, 32, 32 );
Image1->Canvas->Draw( 0, 0, picon );
DestroyIcon( sfi.hIcon );
delete picon;
}
Image1->Canvas->Rectangle( 0, 0, 32, 32 );
Image1->Canvas->Draw( 0, 0, picon );
DestroyIcon( sfi.hIcon );
delete picon;
}
本文介绍了一个用于从指定文件获取图标的Delphi方法。通过调用Windows API函数SHGetFileInfo,该方法能够获得文件对应的图标,并将其显示在应用程序的Image组件上。
2171

被折叠的 条评论
为什么被折叠?



