anchor.diff:      ItemIndex := NewIndex;
       if not KMSamePoint(fMouseOverCell, KMPOINT_INVALID_TILE)
         and Columns[fMouseOverCell.X].TriggerOnChange
  -      and Rows[fMouseOverCell.Y].Cells[fMouseOverCell.X].Enabled
  +      and (fMouseOverCell <> KMPOINT_INVALID_TILE) //Only trigger ovew cells
  +      and Rows[fMouseOverCell.Y].Cells[fMouseOverCell.X].Enabled // Only trigger for enabled cells
         and Assigned(fOnChange) then
       begin
         fOnChange(Self);
  
positive.code:     Exit;
  
    // Do not do anything else, in case Cell we are working on is Disabled
    if not Rows[fMouseOverCell.Y].Cells[fMouseOverCell.X].Enabled then
      Exit;
  
    NewIndex := fMouseOverRow;
  
negative.code:     inherited DoClick(X, Y, Shift, Button);
      if Assigned(fOnChange)
        and not fOnChangeInvoked
        and (fMouseOverCell <> KMPOINT_INVALID_TILE) //Only trigger ovew cells
        and Rows[fMouseOverCell.Y].Cells[fMouseOverCell.X].Enabled then // Only trigger for enabled cells
        fOnChange(Self);
    end;
  