CListCtrl::SetItemData(...)
-
Hallo,
m_List ist ein CListCtrl-Element meines CTabPage-Dialogfelds.
In der OnInitDialog() initialisiere ich die Liste wie folgt:BOOL CTabPage::OnInitDialog() { ......... m_List.InsertItem ( 0, _T(m_mySet.m_text1) ); m_List.SetItemText ( 0, 1, _T(m_mySet.m_text2) ); m_List.SetItemText ( 0, 2, _T(m_mySet.text3) ); m_List.SetItemData( 0, 1 ); //hier möchte ich lParam setzen TRACE("%d\n", m_List.GetItemData( 0 )); //Ausgabe: 1 .......... return TRUE; }Möchte ich jetzt allerdings in folgender Funktion wieder auf lParam zugreifen, so ist der Wert auf 0 gesetzt/ nicht mehr gespeichert???
void CTabPage::OnDblclkList(NMHDR* pNMHDR, LRESULT* pResult) { *pResult = 0; TRACE("%d\n", m_List.GetItemData( 0 )); //Ausgabe: 0 }Wäre super, wenn mir jemand sagen könnte, woran das liegt.
Besten Dank, mira
-
also was mir aufält ist
das du auf ItemData zugreifst obwohl du diese nicht gesetzt hast
m_list.InsertItem();
m_list.SetItemText();
m_list.SetItemData();ich mach immer die reihenfolge

-
Da kann ich dir jetzt nicht ganz folgen...
... kann sein, dass ich grad ziemlich fest auf meiner Leitung stehe, aber genau das ist doch meine Reihenfolge, oder nicht?
-
Kann hier nochmal jemand drüberschauen, bitte? Und mir möglicherweise einen Tip geben?!
-
Oder gibt es irgendwo ein Tutorial/ Beispielcode, in dem beschrieben wird, wie man ein CListCtrl-Element zur Verwaltung einer Datenbank verwenden kann? Auf www.codeproject.com hab ich schon gesucht, aber nichts gefunden.
-
Klingt nach einer Liste die sortiert wird, und nachher die Elemente nicht mehr am gleichen Platz vorfindet.
Nimm mal das Sortieren Häkchen wech bei Deiner Liste.
-
Danke für die Antwort.
Mittlerweile hab ich den Fehler "schon" gefunden. Hat eine ähnliche Ursache gehabt.