我在ListCtrl中用SHGetFilelnfo插入系统图标为什么关闭后第二次打开就没有图标了

jl870303 2009-10-29 12:31:53
以下是代码片段

SHFILEINFO sfi;
HIMAGELIST hSystemImageList;
hSystemImageList = (HIMAGELIST) SHGetFileInfo( _T(""), 0, &sfi,
sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
m_ImageListSmall.m_hImageList=( hSystemImageList );

m_lcFileList.SetImageList(&m_ImageListSmall,LVSIL_SMALL);(注:m_lcFileList是CListCtrl类型)

如果这段代码没有问题,那如何在关闭窗口析构时保留系统图标,下次打开窗口仍然存在?

不知道LVS_SHAREIMAGELISTS有没有用?如何用?
以下这张图是我在网上辛苦搜集到得LVS_SHAREIMAGELISTS使用说明(MSDN上没有),如果大家有能看懂的,希望能告诉我如何使用LVS_SHAREIMAGELISTS,更重要的是有LVS_SHAREIMAGELISTS属性的image list在什么时候delete


如果不是LVS_SHAREIMAGELISTS的问题,那是不是需要用Attach()和Detach()?或者是其他什么问题?我把我能想到的可能性全列在这了,希望大家能给我关键性的提示和帮助,我好想尽快解决问题,在线等待,问题解决第一时间结贴

亟待求解,望高手指教,感激不尽

...全文
24 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
靳先生 2009-10-29
  • 打赏
  • 举报
回复
以下三点必须同时满足
1)m_ImageListSmall必须设为全局变量或父窗口的成员变量。
2)SHFILEINFO获取的系统图标也必须保存在全局或父窗口中
3)m_lcFileList创建窗口时需带上LVS_SHAREIMAGELISTS属性。
只有这样,第一次关闭m_lcFileList控件窗口后,系统图标才不会自动销毁。
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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