MFC 列表复选框问题

2025-02-28 13:11:16
推荐回答(1个)
回答1:

列标题是一个专门的控件CHeaderCtrl,你需要做的就是获取这个控件的指针,然后对该控件的第一个item,即【全选】这个item,调用CHeaderCtrl::DrawItem。当然在初始化时,需要准备checkbox的被选中和没有被选中的图片已备使用。当时鼠标点击【全选】这个item时,触发重画消息,执行DrawItem函数,实现了模拟的checkbox在选中和未选中之间的切换。当然还要顺便更新标题下面的那些行的选中状态。
//m_list表示列表控件对应的变量
CHeaderCtrl*pHeaderCtrl = m_list.GetHeaderCtrl();
//后边的你自己参考下文档资料处理吧,呵呵