EVT_LIST_KEY_DOWN(LIST_CTRL, MyListCtrl::OnListKeyDown)
EVT_LIST_ITEM_ACTIVATED(LIST_CTRL, MyListCtrl::OnActivated)
EVT_LIST_COL_CLICK(LIST_CTRL, MyListCtrl::OnColClick)
+ EVT_LIST_CACHE_HINT(LIST_CTRL, MyListCtrl::OnCacheHint)
EVT_CHAR(MyListCtrl::OnChar)
END_EVENT_TABLE()
// MyListCtrl
+void MyListCtrl::OnCacheHint(wxListEvent& event)
+{
+ wxLogMessage( "OnCacheHint: cache items %ld..%ld",
+ event.GetCacheFrom(), event.GetCacheTo() );
+}
+
void MyListCtrl::OnColClick(wxListEvent& event)
{
wxLogMessage( "OnColumnClick at %d.", event.GetColumn() );
break;
case WXK_DELETE:
- DeleteItem(event.GetIndex());
+ {
+ long item = GetNextItem(-1,
+ wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
+ while ( item != -1 )
+ {
+ DeleteItem(item);
+
+ wxLogMessage(_T("Item %ld deleted"), item);
- wxLogMessage(_T("Item %d deleted"), event.GetIndex());
+ // -1 because the indices were shifted by DeleteItem()
+ item = GetNextItem(item - 1,
+ wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
+ }
+ }
break;
case WXK_INSERT: