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.


Anmelden zum Antworten