diff --git a/src/msw/treectrl.cpp b/src/msw/treectrl.cpp index f7ac36c718..8517884f18 100644 --- a/src/msw/treectrl.cpp +++ b/src/msw/treectrl.cpp @@ -1341,6 +1341,23 @@ bool wxTreeCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result) switch ( hdr->code ) { + case NM_RCLICK: + { + if ( wxControl::MSWOnNotify(idCtrl, lParam, result) ) + return TRUE; + + TV_HITTESTINFO tvhti; + ::GetCursorPos(&(tvhti.pt)); + ::ScreenToClient(GetHwnd(),&(tvhti.pt)); + if(TreeView_HitTest(GetHwnd(),&tvhti)!=NULL) { + if(tvhti.flags & TVHT_ONITEM) { + event.m_item = (WXHTREEITEM) tvhti.hItem; + eventType=wxEVT_COMMAND_TREE_ITEM_RIGHT_CLICK; + } + } + break; + } + case TVN_BEGINDRAG: eventType = wxEVT_COMMAND_TREE_BEGIN_DRAG; // fall through