我在CListCtrl中使用大图标显示256色图标,在Item没被选择时其图标是256色的,但在Item被选择时,其图标变成了委难看的16色,与windows的资源管理器差很远,请问有何办法解决。

解决方案 »

  1.   

    在创建ImageList的时候试试用下面的形式
    Create( 32, 32,ILC_MASK | ILC_ILC_COLOR32, 1, 1);
      
      

  2.   

    创建时使用ILC_MASK | ILC_ILC_COLOR32看看
      

  3.   

    Create( 32, 32,ILC_MASK | ILC_ILC_COLOR32, 1, 1);ILC_MASK
      

  4.   

    Create( 32, 32,ILC_MASK | ILC_ILC_COLOR32, 1, 1);看看
      

  5.   

    Create( 32, 32,ILC_MASK | ILC_ILC_COLOR32, 1, 1);看看这么多相同的答案,我也抄一份
      

  6.   

    设定为ILC_MASK | ILC_ILC_COLOR32
      

  7.   

    不行,我也用的是ILC_MASK | ILC_ILC_COLOR32, 请大家亲自试试,我用的是Windows2000的资源管理器的ListView的文件夹图标,该图标是256色,但在Item被选择时的图标颜色变成16色的图标与资源管理器的文件夹被选择时的图标相差很远。
      

  8.   

    我现在只想到重载OnCustomDraw来重新绘制图标,不过我相信你不会这么去做的。
      

  9.   

    设置ImageList,注意有选中和未选中两种状态的图标,我实现了:)