MFC ListControl实现复选框的全选、反选
首先在创建 ListControl的时候要加上一个属性LVS_EX_CHECKBOXES
ListView_SetExtendedListViewStyle(m_lsCert.GetSafeHwnd(), m_List.GetExStyle() | LVS_EX_CHECKBOXES);
这样 ListControl每一行数据的前边都会有一个复选框。
//点击全选
void CCertDlg::OnBnClickedButtonSelectall()
{
// TODO: 在此添加控件通知处理程序代码
for (int i=0;i<m_lsCert.GetItemCount();i++)
{
m_lsCert.SetCheck(i,TRUE);
}
}
//点击反选
void CCertDlg::OnBnClickedButtonSelectinvert()
{
// TODO: 在此添加控件通知处理程序代码
for (int i=0;i<m_lsCert.GetItemCount();i++)
{
if (m_lsCert.GetCheck(i)==FALSE) //未被选中的
{
m_lsCert.SetCheck(i,TRUE);
}
else //选中的
{
m_lsCert.SetCheck(i,FALSE);
}
}
}
效果图