使用之前应该对列表控件的VIEW值设置为report,不然后面所有设置可能不起作用
1、初始化,即设置列名,列宽
//设置列名跟列宽CRect m_rect;
m_testList.GetClientRect(m_rect);
int columnWidth = m_rect.Width()/3;
m_testList.InsertColumn(1,"配置类型",LVCFMT_CENTER,columnWidth);
m_testList.InsertColumn(2,"配置属性",LVCFMT_CENTER,columnWidth);
m_testList.InsertColumn(3,"配置值",LVCFMT_CENTER,columnWidth);
2、设置列表框显示类型
DWORD dwStyle = m_testList.GetExtendedStyle();dwStyle |= LVS_EX_FULLROWSELECT;//选中某行使整行高亮(只适用与report风格的listctrl)
dwStyle |= LVS_EX_GRIDLINES;//网格线(只适用与report风格的listctrl)
dwStyle |= LVS_EX_CHECKBOXES;//item前生成checkbox控件
m_testList.SetExtendedStyle(dwStyle); //设置扩展风格
3、清空原有列表框中数据
m_testList.DeleteAllItems();4、插入数据到列表框
m_testList.InsertItem(i,configType,0); //行的第一列数据要用InsertItem(),也可以写成InsertItem(i,configType);m_testList.SetItemText(i,1,configParam); //行的其他列数据就用SetItemText()
m_testList.SetItemText(i,2,configValue);
注:在循环插入多列时,一定要在循环内开始的位置configType = configParam = configValue = "";不然可能出现某一项其实是空值,但插入时插入了上一行的该值。