关于CListCtrl隐藏列的实现

本文介绍了一种在不重载CListCtrl的情况下隐藏列表视图中某些列的方法。通过设置列宽为0并拦截对CHeaderCtrl的鼠标操作来防止用户调整列宽。

因为自己想要实现隐藏,所有去网上查了很多资料,查到的几乎全是对CListCtrl的重载或是将列宽设为0,但当列宽设为0时,有一缺陷,就是用鼠标改变列宽时,可以将设为0宽度的列托出了,而重载CListCtrl感觉好麻烦,因为自己只需要隐藏几列内容,所以就想用设列宽为0,然后想办法,不让修改列宽就OK。可当我查看如何禁止修改列宽时,又傻眼了,因为又得对CHeaderCtrl进行重载。哎,命苦啊,为了一个小小的功能对类进行重载,感觉实在不划算,由于对点击列表头没有要求,所有想着是否可以截获鼠标对CHeaderCtrl的消息,试了一下果然可行,在PreTranslateMessage中截获对CHeaderCtrl的操作。唯一不足就是当鼠标移到CHeaderCtrl上时还是会改变鼠标形状,不过自己想要的功能已经实现就不管那么多啦,O(∩_∩)O哈哈~,与XDJM分享一下,如有不对的地方请XDJM指正

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值