...draw StringGrid cells in different colors?

Author: Thomas Stutz

Category: VCL

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  
dx: Integer;
begin
  with 
(Sender as TStringGrid) do
  begin
    
// Don't change color for first Column, first row
    
if (ACol = 0) or (ARow = 0) then
      
Canvas.Brush.Color := clBtnFace
    else
    begin
      case 
ACol of
        
1: Canvas.Font.Color := clBlack;
        2: Canvas.Font.Color := clBlue;
      end;
      // Draw the Band
      
if ARow mod 2 = 0 then
        
Canvas.Brush.Color := $00E1FFF9
      else
        
Canvas.Brush.Color := $00FFEBDF;
      Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, cells[acol, arow]);
      Canvas.FrameRect(Rect);
    end;
  end;
end;

 

printed from
www.swissdelphicenter.ch
developers knowledge base