CListCtrl在SetImageList之后,如何去掉图像;;如何改变ClistCtrl行高

来源:互联网 发布:软件过程改进模型 编辑:程序博客网 时间:2024/05/17 18:19

有时候在程序中需要动态的让CListCtrl显示或不显示前面的图像。

通常设置图像可以这样:

        CImageList ImageList;
        ImageList.Create(IDB_AFFIX, 16, ILC_MASK, RGB(255, 255, 255));
       
        m_list_ctrl.SetImageList(&ImageList,LVSIL_SMALL);   
        ImageList.Detach();

 

那么当想要隐藏图像的时候怎么做呢,由于windows没有提供相关方法。那么可以采用一种巧妙的方式:设置一个小的图像,这样看起来跟没有也差不多。

        CImageList ImageList;
        ImageList.Create(1, 16, ILC_COLOR, 1, 1); // 大小不能设置为0,尤其高度不能设置为很小的数字,因为图像要保持与listctrl行高一致,所以高度仍要用正常的。
       
        m_list_ctrl.SetImageList(&ImageList,LVSIL_SMALL);   
        ImageList.Detach();