schreiben in verschiedene spalten der listview
-
hallo.
ich habe mir eine listview gebastelt und schon fleißig meine erste von insgesamt 3 spalten gefüllt.
leider komm ich nicht in die anderen zwei palten.
woran liegts? bzw. wie mach ich es?hier noch mein code:
hwndlb = CreateWindow(WC_LISTVIEW,L"",WS_CHILD | WS_VSCROLL | WS_VISIBLE | LVS_REPORT | LVS_NOLABELWRAP | LVS_SINGLESEL,0,0,240,222,hWnd,(HMENU)lb,hInstance,NULL); INITCOMMONCONTROLSEX control; LVCOLUMN col; LVITEM item; memset(&control,0,sizeof(INITCOMMONCONTROLSEX)); control.dwICC = ICC_LISTVIEW_CLASSES; InitCommonControlsEx(&control); memset(&col,0,sizeof(LVCOLUMN)); col.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM; col.fmt=LVCFMT_LEFT; col.pszText = L"Name"; col.cx = 80; col.iSubItem = 0; col.cchTextMax = 50; ListView_InsertColumn (hwndlb,0,&col); //Spalte 2 col.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM; col.fmt=LVCFMT_LEFT; col.pszText = L"Ort"; col.cx = 80; col.iSubItem = 1; ListView_InsertColumn (hwndlb,1,&col); //Spalte 3 col.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM; col.fmt=LVCFMT_LEFT; col.pszText = L"Datum"; col.cx = 80; col.iSubItem = 2; ListView_InsertColumn (hwndlb,2,&col); ShowWindow(hwndlb, SW_SHOW); UpdateWindow(hwndlb); memset(&item,0,sizeof(LVITEM)); item.pszText = TEXT("hallo welt"); item.mask = LVIF_TEXT | LVIF_PARAM; item.state = LVIS_FOCUSED|LVIS_SELECTED; item.iSubItem = 0; item.iItem = ListView_GetItemCount(hwndlb); ListView_InsertItem(hwndlb,&item); memset(&item,0,sizeof(LVITEM)); item.pszText = TEXT("hallo welt"); item.mask = LVIF_TEXT | LVIF_STATE ; item.state = LVIS_FOCUSED|LVIS_SELECTED; item.iSubItem = 0; item.iItem = ListView_GetItemCount(hwndlb); ListView_InsertItem(hwndlb,&item); memset(&item,0,sizeof(LVITEM)); item.pszText = TEXT("hallo welt"); item.mask = LVIF_TEXT | LVIF_STATE ; item.state = LVIS_FOCUSED|LVIS_SELECTED; item.iSubItem = 0; item.iItem = ListView_GetItemCount(hwndlb); ListView_InsertItem(hwndlb,&item);
-
ListView_InsertItem funktioniert ausschließlich mit Spalte 0. Wenn Du in die anderen Spalten möchtest, mußt Du ListView_SetItem verwenden. Die Spalten wählst Du dann über LVITEM.iSubItem.