+        int flagsTree;
+        wxTreeItemId id = tree->HitTest(treePt, flagsTree);
+
+        if ( id.IsOk() && (flagsTree & wxTREE_HITTEST_ONITEM) )
+        {
+            pagePos = DoInternalFindPageById(id);
+        }
+
+        if ( flags )
+        {
+            if ( pagePos != wxNOT_FOUND )
+                *flags = 0;
+
+            if ( flagsTree & (wxTREE_HITTEST_ONITEMBUTTON |
+                              wxTREE_HITTEST_ONITEMICON |
+                              wxTREE_HITTEST_ONITEMSTATEICON) )
+                *flags |= wxBK_HITTEST_ONICON;
+
+            if ( flagsTree & wxTREE_HITTEST_ONITEMLABEL )
+                *flags |= wxBK_HITTEST_ONLABEL;
+        }
+    }
+    else // not over the tree
+    {
+        if ( flags && GetPageRect().Contains( pt ) )
+            *flags |= wxBK_HITTEST_ONPAGE;