anchor.diff:    mTimeruler, mGanttDataProvider, mGanttHead;
   
   type
  +
  +  TmGanttRowDrawingAction = procedure (aCanvas : TCanvas; const aDrawingRect : TRect) of object;
   
     { TmGantt }
   
  
positive.code: 
      PaintVerticalLines(aCanvas, aRect);
      PaintHorizontalLines(aCanvas, aRect);
    finally
      aCanvas.Unlock;
    end;
  end;
  
  procedure TmGantt.Paint;
  
negative.code: end;
  
  procedure TmGantt.PaintHorizontalLines(aCanvas: TCanvas; const aDrawingRect: TRect);
  begin
    if (not Assigned(FHead.DataProvider)) or (FHead.DataProvider.RowCount = 0) then
      exit;
  
    aCanvas.Pen.Color:= FHorizontalLinesColor;
    DoForEveryRow(aCanvas, aDrawingRect, Self.DrawRowBottomLine);
  end;
  
  procedure TmGantt.SetTopRow(AValue: integer);
  