ListView 不能正确添加数据,求解

deodar2006 2015-07-01 07:29:00
代码中 只能向国家这一列中添加数据,如中国,日 本等 ,在第二列|“民族”中无法加入数据,第三列第四列同样加不了,修改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;
}
...全文
81 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
schlafenhamster 2015-07-02
  • 打赏
  • 举报
回复
HWND CreateListView(HINSTANCE hInstance, HWND hwndParent) { DWORD dwStyle; HWND hwndListView; BOOL bSuccess = TRUE; // custom draw dwStyle = WS_TABSTOP | WS_CHILD | WS_BORDER | WS_VISIBLE | LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS; //| LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER | LVS_EX_GRIDLINES| LVS_EX_INFOTIP | LVS_AUTOARRANGE | LVS_OWNERDATA; hwndListView = CreateWindowEx( WS_EX_WINDOWEDGE,//WS_EX_CLIENTEDGE,// ex style WC_LISTVIEW, // class name defined in commctrl.h NULL, // window text dwStyle, // style 4, // x position 120, // y position LV_WIDTH, // width LV_HEIGHT, // height hwndParent, // parent (HMENU)IDC_LISTVIEW, // ID (HINSTANCE)GetWindowLong(hwndParent, GWL_HINSTANCE), // instance NULL); // no extra data // if(hwndListView) { ListView_SetExtendedListViewStyleEx(hwndListView,LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT); InitLvHead(hwndListView); // LVITEM lvi; ZeroMemory(&lvi, sizeof(lvi)); lvi.mask=LVIF_TEXT;//|LVIF_IMAGE; lvi.cchTextMax=40; lvi.iSubItem=0; lvi.pszText="MainItem"; lvi.iItem=0; int now=ListView_InsertItem(hwndListView,&lvi); // ListView_SetItemText(hwndListView,now,1,"Column 1"); ListView_SetItemText(hwndListView,now,2,"Column 2"); ListView_SetItemText(hwndListView,now,3,"Column 3"); ListView_SetItemText(hwndListView,now,4,"Column 4"); ListView_SetItemText(hwndListView,now,5,"Column 5"); // now=ListView_InsertItem(hwndListView,&lvi); // ListView_SetItemText(hwndListView,now,1,"Column 1"); ListView_SetItemText(hwndListView,now,2,"Column 2"); ListView_SetItemText(hwndListView,now,3,"Column 3"); ListView_SetItemText(hwndListView,now,4,"Column 4"); ListView_SetItemText(hwndListView,now,5,"Column 5"); // now=ListView_InsertItem(hwndListView,&lvi); // ListView_SetItemText(hwndListView,now,1,"Column 1"); ListView_SetItemText(hwndListView,now,2,"Column 2"); ListView_SetItemText(hwndListView,now,3,"Column 3"); ListView_SetItemText(hwndListView,now,4,"Column 4"); ListView_SetItemText(hwndListView,now,5,"Column 5"); // now=ListView_InsertItem(hwndListView,&lvi); // ListView_SetItemText(hwndListView,now,1,"Column 1"); ListView_SetItemText(hwndListView,now,2,"Column 2"); ListView_SetItemText(hwndListView,now,3,"Column 3"); ListView_SetItemText(hwndListView,now,4,"Column 4"); ListView_SetItemText(hwndListView,now,5,"Column 5"); // now=ListView_InsertItem(hwndListView,&lvi); // ListView_SetItemText(hwndListView,now,1,"Column 1"); ListView_SetItemText(hwndListView,now,2,"Column 2"); ListView_SetItemText(hwndListView,now,3,"Column 3"); ListView_SetItemText(hwndListView,now,4,"Column 4"); ListView_SetItemText(hwndListView,now,5,"Column 5"); // now=ListView_InsertItem(hwndListView,&lvi); // ListView_SetItemText(hwndListView,now,1,"Column 1"); ListView_SetItemText(hwndListView,now,2,"Column 2"); ListView_SetItemText(hwndListView,now,3,"Column 3"); ListView_SetItemText(hwndListView,now,4,"Column 4"); ListView_SetItemText(hwndListView,now,5,"Column 5"); // now=ListView_InsertItem(hwndListView,&lvi); // ListView_SetItemText(hwndListView,now,1,"Column 1"); ListView_SetItemText(hwndListView,now,2,"Column 2"); ListView_SetItemText(hwndListView,now,3,"Column 3"); ListView_SetItemText(hwndListView,now,4,"Column 4"); ListView_SetItemText(hwndListView,now,5,"Column 5"); // // HWND hwndHD=ListView_GetHeader(hwndListView); // int all=Header_GetItemCount(hwndHD); // RECT rc; // Header_GetItemRect(hwndHD,all-1,&rc); return hwndListView; } else { return NULL; } }//

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧