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组件上。
&spm=1001.2101.3001.5002&articleId=1766448&d=1&t=3&u=aafc271536824081b8d66f2ce2a9829e)
1658

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



