Win32使用ListView时的注意事项

这两天使用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中直接添加数据,将会出现以下报错:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hu421160052/article/details/88241783