ListView lässt sich nur einmal füllen
-
Ich habe eine Funktion Display(), die eine Datei durchsucht und die entsprechenden Datensätze in einem Listview anzeigt, :
void Display(HWND hw, char Datei[]) { LV_ITEM LVItem; ListView_DeleteAllItems(hw); LVItem.iItem=0; LVItem.iSubitem=0; ... LVItem.pszText=Datastring; // String wird stets korrekt ausgelesen LVItem.iImage=5; // ImageList ist erzeugt, Bitmap ist gültig! if(ListView_InsertItem(hw,&LVItem)==-1) MessageBox(0,"Item einfügen gescheitert!",0,0); LVItem.iItem++; ... }
Beim Start des Programmes rufe ich die Funktion nach WM_CREATE auf, klappt wunderbar. Danach ist allerdings Sense, ein zweiter Aufruf von Display() irgendwo im Programm leert das ListView zwar, allerdings erscheinen keine neuen Items mehr, die MessageBox nach ListView_InsertItem() bleibt aber still.
Kennt jemand dieses Problem ? Bin für jede Hilfe dankbar.Grüße
Biff
-
moin meister ...
ich glaube ich hatte auch mal das Problem am Anfang, bin mir nicht ganz sicher
ob dies der Fehler war.ListView_DeleteAllItems(hList); while( !db_view.eof() ) { lvi.iItem = ListView_GetItemCount(hList); // Lösung des Problems ??? lvi.iSubItem = 0; lvi.pszText = szBuf1; lvi.cchTextMax = lstrlen(szBuf1); ListView_InsertItem(hList, &lvi); db_view.NextRec(); }
mfg
RB