CListCtrl stürtz bei InsertItem ab
-
Wenn ich mein CListCtrl fülle strützt das ab und zu mal ab.
Mein Code:
m_CtrlMeineListe.DeleteAllItems(); HTREEITEM LastItem = NULL; for(int nI = 0; nI < 100; nI++) { LastItem = m_CtrlMeineListe.InsertItem(TVIF_TEXT, "Test1", NULL, NULL, NULL, NULL, nI, NULL, NULL ); for(int nJ = 0; nJ < 100; nJ++) m_CtrlMeineListe.InsertItem(TVIF_TEXT, "Test2", NULL, NULL, NULL, NULL, nJ, LastItem, NULL ); }Hat einer eine Idee wie so?
-
k ich habe das mal so gemacht
m_CtrlMeineListe.DeleteAllItems(); for(int nI = 0;nI < 100;nI++) { TVINSERTSTRUCT temp; temp.hParent = TVI_ROOT; temp.hInsertAfter = TVI_SORT; //wenn dus sortiert haben willst temp.item.mask = TVIF_TEXT; temp.item.pszText = "Der Text der sein soll"; HTREEITEM _Root = m_CtrlMeineListe.InsertItem (&temp ); for(int nJ = 0;nJ < 100;nJ++) m_CtrlMeineListe.InsertItem("Der Text",_Root,TVI_SORT); }so funktioniert das bei mir ohne probleme
und ich glaube das ist auch besser lesbar als dein code
ich hoffe das hilft dir
mfg
wuschu
-
oops sorry, kann jemand eines des doppelpostings loeschen?
-
Isset ne Liste oder ein Baum?
-
da du ein HTREEITEM verwendes denke ich ist das bei dir auch ein baum
ist die variable m_CtrlMeineListe ein CTreeCtrl oder ein CListBox.
wenn es ein CTreeCtrl ist dan hast du einen Baum bei CListBox eine normale ListBoxaber bei einer normalen ListBox kannst du einfach mit InsertString arbeiten
also zb
m_CtrlMeineListe.InsertString("stelle wo eingefuegt werden soll als int","string der eingefuergt werden soll");was hast du verwendet?
mfg
wuschu
-
ooh sorry jetzt hab ich an dier vorbeigeredet

dein HTREEITEM hatt mich ein bisschen verwirrt.
wenn du ein CListCtrl hasst würde ich das mitint InsertItem( int nItem, LPCTSTR lpszItem ); also zb m_CtrlMeineListe.InsertItem(1,"test");machen
ist doch viel einfacher als so mit den ganzen parametern.
jetzt hab ich 3 antworten auf das problem gegeben ich denke ich hoffe eine passt
