这两天使用listview的一些心得和问题,拿来跟大家分享一下
1.一个大坑,调试了许久,在删除所有行后,必须要调用一次ZeroMemory重新设置一次mask,如下:
//删除所有行
SendMessage(hwndListView, LVM_DELETEALLITEMS, 0, 0);
LV_ITEM lvItem;
ZeroMemory(&lvItem, sizeof(lvItem));
//这里是line是一个int值,为行号
lvItem.mask = LVFIF_TEXT;
lvItem.iItem = line;//行号
lvItem.iSubItem = 0;
ListView_InsertItem(hwndListView, &lvItem);
//第一列:序号
char Number[7];
itoa(line, Number, 10);
lvItem.iSubItem = 0;
lvItem.pszText = Number;
ListView_SetItem(hwndListView, &lvItem);
//第二列
...
如果没有重新设置mask,然后继续在删除了所有行的listview中直接添加数据,将会出现以下报错: