以下是代码片段 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()?或者是其他什么问题?我把我能想到的可能性全列在这了,希望大家能给我关键性的提示和帮助,我好想尽快解决问题,在线等待,问题解决第一时间结贴 亟待求解,望高手指教,感激不尽
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()?或者是其他什么问题?我把我能想到的可能性全列在这了,希望大家能给我关键性的提示和帮助,我好想尽快解决问题,在线等待,问题解决第一时间结贴 亟待求解,望高手指教,感激不尽
1)m_ImageListSmall必须设为全局变量或父窗口的成员变量。
2)SHFILEINFO获取的系统图标也必须保存在全局或父窗口中
3)m_lcFileList创建窗口时需带上LVS_SHAREIMAGELISTS属性。
只有这样,第一次关闭m_lcFileList控件窗口后,系统图标才不会自动销毁。