anchor.diff:        Align := alClient;
         BorderStyle := bsNone;
         OnDrawCell := StandardDrawCell;
  +      OnMouseDown := GridMouseDown;
         OnMouseUp := GridMouseUp;
         OnSelection := GridSelection;
         OnHeaderClick := GridHeaderClick;
  
positive.code:     procedure SetPageIndex(Value: Integer);
      procedure SetPageSize(Value: Integer);
      procedure SetSelectionType(AValue: TSelectionType);
      procedure SetWidgetControl(AValue: TControl);
      function CalculateCellContentRect(const ARect : TRect) : TRect;
    protected { TComponent }
  
negative.code:   { TSelectionType }
  
    TSelectionType = (stNone, stCell, stRow, stMultiRow);
  
    { TDeselectionType }
  
    TDeselectionType = (
      dtNone,    { deselection is disallowed }
      dtDefault, { click on selection means deselect (except multirow which is special case), click outside selection means new selection }
      dtClick    { each click anywhere if anything is selected means deselection }
    );
  
    { TVisualGridSelection }
  
  