没有合适的资源?快使用搜索试试~ 我知道了~
获取并显示一个文件类型图标
需积分: 10 7 下载量 60 浏览量
2014-07-25
15:35:43
上传
评论
收藏 3KB TXT 举报
温馨提示
获取并显示一个文件类型图标. 3、更加综合的应用。 获取一系列扩展名的图标,将其保存了ImageList中,然后根据相应的选择显示扩展的图标。
资源推荐
资源详情
资源评论
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
TSHFileInfo SFileinfo ;
memset(&SFileinfo, 0, sizeof(SFileinfo));
ImageList1->ShareImages = true; //共享图标,一定设置为True。
ImageList1->DrawingStyle = dsTransparent; //设置图标的背景色透明
ImageList1->Handle = SHGetFileInfo("F:\\家庭\\养生\\养胃抗癌.mpg", 0, &SFileinfo, sizeof(SFileinfo),
SHGFI_SMALLICON | SHGFI_SYSICONINDEX);
//可以不断添加不同类型的文件,图标会添加在最后。
ImageList1->Handle = SHGetFileInfo("F:\\家庭\\2014购买彩票.xls", 0, &SFileinfo, sizeof(SFileinfo),
SHGFI_SMALLICON | SHGFI_SYSICONINDEX);
//将所获得的图标显示出来,但前面7个是系统图标,从第8个开始才是真正的图标。Index = 7
for(int i=0;i<ImageList1->Count ;i++)
ImageList1->Draw(Image1->Canvas,10,10+i*32,i,true);
}
//---------------------------------------------------------------------------
上面获取的是小图标,如果要大图标,把 SHGFI_SMALLICON 改为SHGFI_LARGEICON。按照上面的方法,所查询的文件必须存在,否则没法查到结果。
但如果文件不存在,该怎么办呢?
还好,SHGetFileInfo有一个聪明的选项,SHGFI_USEFILEATTRIBUTES,这个选项允许你传递一个假文件名,如123.mpg。即便文件不存在,SHGetFileInfo也能获得你要的信息。
请看下面代码。
//===============================================
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TSHFileInfo SFileinfo ;
memset(&SFileinfo, 0, sizeof(SFileinfo));
ImageList1->ShareImages = true; //共享图标,一定设置为True。
资源评论
linmutou
- 粉丝: 2
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功