anchor.diff:      ItemIndex := NewIndex;
       if not KMSamePoint(fMouseOverCell, KMPOINT_INVALID_TILE) and Columns[fMouseOverCell.X].TriggerOnChange
         and Assigned(fOnChange) then
  +    begin
         fOnChange(Self);
  +      aOnChangeInvoked := True;
  +    end;
     end;
   end;
   
  
positive.code:     procedure SetSearchColumn(aValue: ShortInt);
      procedure SetItemIndex(const Value: Smallint);
      procedure UpdateMouseOverPosition(X,Y: Integer);
      procedure UpdateItemIndex(Shift: TShiftState);
      function GetItem(aIndex: Integer): TKMListRow;
      function GetSelectedItem: TKMListRow;
      function GetSelectedItemTag: Integer;
  
negative.code: begin
    inherited;
    UpdateMouseOverPosition(X, Y);
    UpdateItemIndex(Shift, fOnChangeInvoked);
    //Lets do DoClick here instead of MouseUp event handler, because of some TKMColumnBox specific logic
    if (csDown in State) then
    begin
  