CListCtrl mit Checkboxen
-
Hallo.
Wie bekomme ich herraus, welche Listbox der User angeklickt hat? Also eine Funktion, die einen integer zurückgibt, in der die aktuelle Box steht.
-
Du kannst für jedes Control eine Nachricht definieren. Beiklick oder bei doppelklick, u.s.w
Oder hab ich was falsch verstanden.
-
Naja, ich weiß, dass ich das ändern einsr Checkbox in CListCtrl mit LVN_ITEMCHANGED abfangen kann. Das klappt auch ganz gut, aber wie bekomme ich herraus, welche Box er geändert hat? Das meinte ich mit integer zurückgeben
-
Ich habe jetzt mal die MSDN genauer gesucht und die Funktion CListCtrl::GetSelectedCount gefunden. Nun habe ich aber das Problem, dass, egal, wieviele Checkboxes markiert sind, diese Funktion immer 0 oder einen ganz falschen Wert (1 oder 9 ) zurückgibt. Wie kann das sein?
UINT i, uSelectedCount = m_cPluginList.GetSelectedCount(); int nItem = -1; // Update all of the selected items. if (uSelectedCount > 0) { for (i=0;i < uSelectedCount;i++) { nItem = m_cPluginList.GetNextItem(nItem, LVNI_SELECTED); ASSERT(nItem != -1); CString temp; temp.Format("%d",nItem); MessageBox(temp); } }
m_cPluginList ist die Member auf mein CListCtrl. Der Code ist aus dem Beispiel aus der MSDN kopiert und nur ein bisschen verändert. Wieso funktioniwert der Code dann nicht?