StringGrid表格设置

来源:互联网 发布:jira7.1.2 linux安装 编辑:程序博客网 时间:2024/04/30 18:40

1、单元格设置

procedure TForm1.strgrd1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  s: String;
  R: TRect;
begin
  //StringGrid表格的居中显示
  with TStringGrid(Sender) do
  begin

    if (ARow > 0) And (Trim(Cells[0, ARow]) <> '') then //隔行显示不同的背景色
    begin
      case ARow Mod 2 of
        0:
          Canvas.Brush.Color:=$00E9FAFC;
        1:
          Canvas.Brush.Color:=$EEFFEE;
      end;
    end;

    if gdSelected in State then//选中行的设置
    begin
      if Trim(Cells[0, ARow]) <> '' then
        Canvas.Brush.Color:=RGB(49, 106, 197)//有文字背景色改变
      else
        Canvas.Brush.Color:=Brush.Color;//无文字背景色不改变

      //Canvas.Font.Color:=clRed;//字颜色的改变:修改为红色
    end;
    Canvas.FillRect(Rect);
    S:=Cells[ACol,ARow];
    R:=Rect;
    DrawText(Canvas.Handle, PChar(s), Length(s), R, DT_CENTER or DT_SINGLELINE or DT_VCENTER); //文字居中
  end;
end;