可以试着把文字颜色改变掉看清楚一点

解决方案 »

  1.   

    在自绘事件中写如下代码就可以了:
    procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    var
      value:String;
    begin
      StringGrid1.Canvas.Brush.Color:=clWhite;
      StringGrid1.Canvas.Pen.Color  :=clWhite;
      StringGrid1.Canvas.Rectangle(Rect);
    //用一个白色方块盖在每个cell上,从而去掉覆盖的蓝色
      StringGrid1.Canvas.Font.Color:=clBlue;
      value:=StringGrid1.Cells[ACol,ARow];
      DrawText(StringGrid1.Canvas.Handle,
               Pchar(value),
               Length(value),
               Rect,
               DT_Center or DT_VCenter);
    end;