使用checkbox 在初始化函数中添加
m_list.SetExtendedStyle(m_list.GetExtendedStyle()|LVS_EX_CHECKBOXES);
或
m_list.SetStyle(m_list.GetStyle()|LVS_EX_CHECKBOXES|LVS_EX_FULLROWSELECT);
//单击消息的处理
void OnNMClickList(NMHDR *pNMHDR, LRESULT *pResult)
{
*pResult = 0;
LPNMITEMACTIVATE pNMItemActivate = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
// 下面这段的目的是判断鼠标点击的位置是否为checkbox。
HITTESTINFO hitinfo;
hitinfo.pt = pNMItemActivate->ptAction;
UINT nItem = m_listHy.HitTest(&hitinfo);
if (hitinfo.flags != LVHT_ONITEMSTATEICON)
{
return;
}