anchor.diff:    end;  { if/else }
     CheckFocusChange;
     UpdateScrollBars;
  +end;
  +
  +procedure TfpgBaseGrid.PrepareCells(firstrow, lastrow, firstcol, lastcol: integer);
  +begin
  +  // for descendents
   end;
   
   constructor TfpgBaseGrid.Create(AOwner: TComponent);
  
positive.code:           Include(drawstate, gdFocused);
          if (row = FFocusRow) and (col = FFocusCol) then
            Include(drawstate, gdSelected);
  
          if DoDrawCellEvent(row, col, r, drawstate) then
            DrawCell(row, col, r, drawstate);
  
  
negative.code:         lastrow := firstrow;
          for row := firstrow to RowCount-1 do
          begin
            lastrow := row;
            inc (r.Top, DefaultRowHeight);
            if r.Top >= clipr.Bottom then
              break;
          end;
        end;
      end;
    end;
  
    PrepareCells (firstrow, lastrow, firstcol, lastcol);
  
    r.Left := cLeft;
    r.Top := rTop;
  