ListView 不能正确添加数据,求解
代码中 只能向国家这一列中添加数据,如中国,日 本等 ,在第二列|“民族”中无法加入数据,第三列第四列同样加不了,修改iSubitem也不好使,请高手指教,可用分很少,拜托了
HWND CreateListView (HWND hWnd)
{
int cx,cy;
RECT rect;
GetWindowRect(hWnd, &rect);
cx = rect.right-rect.left;
cy = rect.bottom-rect.top;
HWND hListView;
hListView = CreateWindow(WC_LISTVIEW,
(LPCSTR)"0000",
WS_VISIBLE|WS_BORDER|WS_CHILD|
LVS_REPORT | LVS_SHOWSELALWAYS|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT,
10, 150,
490,
180,
hWnd, NULL, NULL, NULL);
// 添加数据
LVITEM item; // 项
LV_COLUMN colmn; // 列
ZeroMemory(&item, sizeof(LV_ITEM));
ZeroMemory(&colmn, sizeof(LV_COLUMN));
colmn.mask = LVCF_TEXT|LVCF_WIDTH|LVCF_SUBITEM|LVCF_FMT; // 风格
colmn.fmt = LVCFMT_CENTER;
// colmn.cx = 0x28;
// colmn.iOrder = 0;
colmn.cx = 0x42; // 后面列
// colmn.iSubItem = 0;
colmn.pszText = "待定";
SendMessage(hListView, LVM_INSERTCOLUMN, 0, (LPARAM)&colmn);
colmn.pszText = "待定";
SendMessage(hListView, LVM_INSERTCOLUMN, 0, (LPARAM)&colmn);
colmn.pszText = "语言";
SendMessage(hListView, LVM_INSERTCOLUMN, 0, (LPARAM)&colmn);
colmn.pszText = "人口";
SendMessage(hListView, LVM_INSERTCOLUMN, 0, (LPARAM)&colmn);
colmn.pszText = "民族"; // 文字
SendMessage(hListView, LVM_INSERTCOLUMN, 0, (LPARAM)&colmn);
colmn.pszText = "国家";
SendMessage(hListView, LVM_INSERTCOLUMN, 0, (LPARAM)&colmn);
// 添加一些行项
item.mask = LVIF_TEXT; // 文字
// item.cchTextMax = MAX_PATH; // 文字长度
item.iItem = 0;
item.iSubItem = 0;
item.pszText = "中国";
SendMessage(hListView, LVM_INSERTITEM, 0, (LPARAM)&item);
// ListView_InsertItem(hListView, &item);
item.pszText = "日本";
SendMessage(hListView, LVM_INSERTITEM, 0, (LPARAM)&item);
item.pszText = "德国";
SendMessage(hListView, LVM_INSERTITEM, 0, (LPARAM)&item);
item.pszText = "俄国";
SendMessage(hListView, LVM_INSERTITEM, 0, (LPARAM)&item);
item.pszText = "美国";
SendMessage(hListView, LVM_INSERTITEM, 0, (LPARAM)&item);
item.pszText = "英国";
SendMessage(hListView, LVM_INSERTITEM, 0, (LPARAM)&item);
item.pszText = "法国";
SendMessage(hListView, LVM_INSERTITEM, 0, (LPARAM)&item);
ShowWindow(hWnd,1);
UpdateWindow(hWnd);
return hListView;
}