listview编写资源管理器的系统文件图标问题

msdnsyh 2010-08-27 11:10:55
用listview写个资源管理
问题:如果使用imagelist绑定listview,然后用SHGetFileInfo获取图标,会有以下2个问题
1、imagelist中存放的图标会越来越多,最终挂掉。如果采用给listview添加完图标后释放listimage的话,listview中的图标也会全部消失。
2、SHGetFileInfo获取的图标,失真比较厉害

求各位大侠帮忙解决哈!
...全文
79 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
msdnsyh 2010-09-06
  • 打赏
  • 举报
回复
我直接用的appdir,呵呵,ok结贴!
msdnsyh 2010-08-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyazhe 的回复:]
1.你应该建立一个Dictionary以保存扩展名和图标之间的对应关系,在Dictionary中存在的则选择一样的ImageIndex,不要每个文件一个图标。
2.显然不会失真,默认ImageList的色深是8位色,你设置ImageList属性的ColorDepth为ColorDepth.Depth32Bit。
[/Quote]
果然改为32位色就ok了,要不这样,按照扩展名来添加图标,每次打开一个目录,搜索文件扩展名,imaglist中有的就直接用,没的就添加。我先试试
兔子-顾问 2010-08-27
  • 打赏
  • 举报
回复
1.你应该建立一个Dictionary以保存扩展名和图标之间的对应关系,在Dictionary中存在的则选择一样的ImageIndex,不要每个文件一个图标。
2.显然不会失真,默认ImageList的色深是8位色,你设置ImageList属性的ColorDepth为ColorDepth.Depth32Bit。
兔子-顾问 2010-08-27
  • 打赏
  • 举报
回复
没错。文件夹图标我当时做的时候就是放了一个抓的图片。文件夹特殊。
msdnsyh 2010-08-27
  • 打赏
  • 举报
回复
我发现文件可以,但文件夹不行啊,对于特殊图标的文件夹,根本就找不到能标识啊
pxesoft 2010-08-27
  • 打赏
  • 举报
回复
学习的

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧