anchor.diff:    // refresh for sort direction graphic
     if LSortDirectionAllowNone <> (vgoSortDirectionAllowNone in AValue) then
       SortDirectionGlyphRefresh;
  -  // refresh selection
  -  if LRefreshSelection <> (vgoAllowDeselect in AValue) then
  -  begin
  -    ResetLastSelection;
  -    UpdateSelection(SelectionType);
  -  end;
   end;
   
   procedure TCustomVisualGrid.SetRows(ARow: Integer; AValue: Variant);
  
positive.code:   protected { events for UI }
      procedure StandardDrawCell(Sender: TObject; ACol, ARow: Longint;
        Rect: TRect; State: TGridDrawState);
      procedure GridMouseUp(Sender: TObject; Button: TMouseButton;
        Shift: TShiftState; X, Y: Integer);
      procedure SearchKindPopupMenuClick(Sender: TObject);
  
negative.code:   GridSelection(Self, 0, 0);
  end;
  
  procedure TCustomVisualGrid.SetDeselectionType(AValue: TDeselectionType);
  begin
    if FDeselectionType=AValue then
      Exit;
  
    FDeselectionType:=AValue;
  
    ResetLastSelection;
    UpdateSelection(SelectionType);
  end;
  
  procedure TCustomVisualGrid.SetWidgetControl(AValue: TControl);
  begin
    if FWidgetControl=AValue then Exit;
  