code: def OnMouseMotion(self, event):
          
  
          grid = self.grid
  
          pos_x, pos_y = grid.CalcUnscrolledPosition(event.GetPosition())
  
          row = grid.YToRow(pos_y)
          col = grid.XToCol(pos_x)
          tab = grid.current_table
  
          key = row, col, tab
  
          merge_area = self.grid.code_array.cell_attributes[key]["merge_area"]
          if merge_area is not None:
              top, left, bottom, right = merge_area
              row, col = top, left
  
          grid.actions.on_mouse_over((row, col, tab))
  
          event.Skip()
docs: Mouse motion event handler