有时候在程序中需要动态的让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();