[教學] 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;

 效果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM