[教学] Firemonkey 之 StringGrid Header 自订显示

StringGrid Header 高度设定方法:

uses FMX.Header;

procedure TForm1.StringGrid1ApplyStyleLookup(Sender: TObject);
var Obj: TFmxObject;
begin
     // by Aone
     Obj := StringGrid1.FindStyleResource('header');
     if (Obj <> nil) and (Obj is THeader) then
        THeader(Obj).Size.Height := 50; // 设定高度
end;

 ps. 所有的 Style 都能用这个方法,找到后,再修改它。

 

StringGrid Header 文字颜色设定方法(不改变底色):

procedure TForm1.StringGrid1DrawColumnHeader(Sender: TObject;
  const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF);
var Str: String;
begin
     if Column = StringColumn1 then
     begin
          Str := '表头1';
          Canvas.Fill.Color := claBlue;
     end;
     if Column = StringColumn2 then
     begin
          Str := '表头2';
          Canvas.Fill.Color := claRed;
     end;

     Canvas.FillText(Bounds, Str, False, 1, [], TTextAlign.Center, TTextAlign.Center);
end;

 效果:

StringGrid Header 文字颜色设定方法(改变底色):

procedure TForm1.StringGrid1DrawColumnHeader(Sender: TObject;
  const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF);
var Str: String;
    BackColor, FontColor: TAlphaColor;
begin
     if Column = StringColumn1 then
     begin
          Str := '表头1';
          BackColor := claYellow;
          FontColor := claBlue;
     end;
     if Column = StringColumn2 then
     begin
          Str := '表头2';
          BackColor := claGold;
          FontColor := claRed;
     end;

     Canvas.Fill.Color := BackColor;
     Canvas.FillRect(Bounds, 0, 0, [], 1);
     Canvas.Fill.Color := FontColor;
     Canvas.FillText(Bounds, Str, False, 1, [], TTextAlign.Center, TTextAlign.Center);
end;

 效果:

转载于:https://www.cnblogs.com/onechen/p/5327732.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值