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

本文介绍了一种在CListCtrl中动态显示或隐藏图像的方法。通过创建一个极小尺寸的图像来实现图像的隐藏效果,同时保持与listctrl行高的视觉一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值