void MyFrame::OnBeginDrag( wxDataViewEvent &event ) { wxDataViewItem item( event.GetItem() ); // only allow drags for item, not containers if (m_music_model->IsContainer( item ) ) { event.Veto(); return; } MyMusicTreeModelNode *node = (MyMusicTreeModelNode*) item.GetID(); wxTextDataObject *obj = new wxTextDataObject; obj->SetText( node->m_title ); event.SetDataObject( obj ); event.SetDragFlags(wxDrag_AllowMove); // allows both copy and move }