(1)首先,设置list列表的风格
ListView_SetExtendedListViewStyle (m_lvTestList.m_hWnd, LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);
使得list控件支持checkbox
LVS_EX_CHECKBOXES | list的每一个item都可以使用checkbox控件,可以通过使用宏ListView_GetCheckState 来获得checkbox的状态 |
LVS_EX_FULLROWSELECT | 当一个item被选中时,它的所有subitems也处于被选中状态,点击任意一个subitem,则可同时选中整个行. 只适用于LVS_REPORT 风格 |
LVS_EX_GRIDLINES | 网格线,只适用于LVS_REPORT 风格 |
LVS_EX_HEADERDRAGDROP | 支持列头的拖拽, 只适用于LVS_REPORT 风格 |
LVS_EX_SUBITEMIMAGES | 可在subitem中插入图标 ,只适用于LVS_REPORT 风格 |
LVS_EX_TRACKSELECT | 如果鼠标停留在某个item上超过1秒钟,则此item显示为被选中状态.适用于任何风格的List控件 |
(2)当一个checkbox被check或uncheck的时候,如何获得通知
添加消息映射
ON_NOTIFY(LVN_ITEMCHANGED, IDC_MYLIST, OnItemchangedLinksList)
消息处理函数
void DemoDlg::OnItemchangedLinksL