请问,可不可以对StringGrid控件中每个格设置不同的颜色?我上网看到说StringGridEx可以这样做,我已经安装了StringGridEx控件,可是不知道怎样在代码中动态改变一些格的显示颜色,请指教

解决方案 »

  1.   

    StringGrid控件本身就可以,只是你要自己画。
      

  2.   

    procedure TForm1.FormCreate(Sender: TObject);
    var
      i, j: Integer;
    begin
      for i := 1 to sg.RowCount - 1 do
        for j := 0 to sg.ColCount - 1 do
          sg.Cells[j, i] := IntToStr(i * j)
    end;procedure TForm1.sgDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    begin
      if ARow mod 2 = 0 then
      begin
        if ARow = 0 then Exit;
        sg.Canvas.Brush.Color := clLime;
        sg.Canvas.FillRect(Rect);
        sg.Canvas.TextOut(Rect.Left + 2, Rect.Top + 2, sg.Cells[ACol, ARow])
      end;
    end;