]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/treectrl/treetest.cpp
Factory some of wxFilterClassFactory into a base class.
[wxWidgets.git] / samples / treectrl / treetest.cpp
index 1028d79f66d4f97b7e53642d3880a492d954e34c..3af468f4418c90da48bdd6079d3cf6b135410577 100644 (file)
@@ -1185,13 +1185,14 @@ void MyTreeCtrl::OnContextMenu(wxContextMenuEvent& event)
 {
     wxPoint pt = event.GetPosition();
     wxTreeItemId item;
-    if ( !HasFlag(wxTR_MULTIPLE) )
-        item = GetSelection();
     wxLogMessage(wxT("OnContextMenu at screen coords (%i, %i)"), pt.x, pt.y);
 
     // check if event was generated by keyboard (MSW-specific?)
     if ( pt.x == -1 && pt.y == -1 ) //(this is how MSW indicates it)
     {
+        if ( !HasFlag(wxTR_MULTIPLE) )
+            item = GetSelection();
+
         // attempt to guess where to show the menu
         if ( item.IsOk() )
         {
@@ -1208,6 +1209,7 @@ void MyTreeCtrl::OnContextMenu(wxContextMenuEvent& event)
     else // event was generated by mouse, use supplied coords
     {
         pt = ScreenToClient(pt);
+        item = HitTest(pt);
     }
 
     ShowMenu(item, pt);