我要刷新ListControl里的图标列表CImageList,也就是清空ListControl和CImageList
主要是CImageList不好清空以下代码好像不行dlg->m_FileList.DeleteAllItems();m_ImageList.DeleteImageList();
m_ImageList.Create(18,20,ILC_MASK|ILC_COLOR32,1,0);
m_FileList.SetImageList(&m_ImageList,LVSIL_SMALL);

解决方案 »

  1.   

    干脆直接将控件Destroy,然后再重新创建一个控件.
      

  2.   

    如何将CImageList Destroy呢?
      

  3.   

    Create之后Add了吗?另外,最后RedrawItems试试。
      

  4.   

    int k = 0;
    while( k < m_pImageList->GetImageCount( ) )
    {
        m_pImageList->Remove( k );
    }m_pImageList->DeleteImageList( );m_pImageList->Add( &Bmp,RGB( 0, 255, 0 ) );
    楼主这样试试 虽然这样并不一定都完全清理的内存 但是不会造成过多的浪费, 清空是没有问题的。
      

  5.   

    最终解决办法:
    不是list清除问题是我list里面的图标HIcon没有及时释放句柄