更改 FMX TStringGrid 中的 THeader 字体大小
Change THeader font size in FMX TStringGrid
我搜索了这个问题并找到了 this。
所以,我写了一个 OnApplyStyleLookup 事件处理程序,如下所示:
procedure TForm1.StringGrid1ApplyStyleLookup(Sender: TObject);
var
Header: THeader;
I: Integer;
begin
Header := THeader((Sender as TStringGrid).FindStyleResource('header'));
if Assigned(Header) then
begin
for I := 0 to Header.Count - 1 do
with Header.Items[I].Font do
begin
Header.Items[I].TextSettings.HorzAlign := TTextAlign.Center;
Size := 100;
Style := [TFontStyle.fsBold];
// SetSettings('Arial', 100, [TFontStyle.fsBold]);
end;
Header.Height := 48;
end;
// TStringGrid(Sender).Realign;
end;
文本对齐方式已更改,但未应用字体大小和样式。
我正在使用 XE7。
要应用更改的文本样式,您必须为更改的对象设置StyledSettings 属性。
所以,最终代码看起来像这样(我不喜欢 with
运算符)
procedure TForm1.StringGrid1ApplyStyleLookup(Sender: TObject);
var
Header: THeader;
HeaderItem: THeaderItem;
I: Integer;
begin
Header := THeader((Sender as TStringGrid).FindStyleResource('header'));
if Assigned(Header) then
begin
for I := 0 to Header.Count - 1 do
begin
HeaderItem := Header.Items[I];
HeaderItem.Font.Size := 100;
HeaderItem.Font.Style := [TFontStyle.fsBold];
HeaderItem.TextSettings.HorzAlign := TTextAlign.Center;
// new code line:
HeaderItem.StyledSettings := HeaderItem.StyledSettings - [TStyledSetting.Size, TStyledSetting.Style];
end;
Header.Height := 48;
end;
end;
我搜索了这个问题并找到了 this。
所以,我写了一个 OnApplyStyleLookup 事件处理程序,如下所示:
procedure TForm1.StringGrid1ApplyStyleLookup(Sender: TObject);
var
Header: THeader;
I: Integer;
begin
Header := THeader((Sender as TStringGrid).FindStyleResource('header'));
if Assigned(Header) then
begin
for I := 0 to Header.Count - 1 do
with Header.Items[I].Font do
begin
Header.Items[I].TextSettings.HorzAlign := TTextAlign.Center;
Size := 100;
Style := [TFontStyle.fsBold];
// SetSettings('Arial', 100, [TFontStyle.fsBold]);
end;
Header.Height := 48;
end;
// TStringGrid(Sender).Realign;
end;
文本对齐方式已更改,但未应用字体大小和样式。
我正在使用 XE7。
要应用更改的文本样式,您必须为更改的对象设置StyledSettings 属性。
所以,最终代码看起来像这样(我不喜欢 with
运算符)
procedure TForm1.StringGrid1ApplyStyleLookup(Sender: TObject);
var
Header: THeader;
HeaderItem: THeaderItem;
I: Integer;
begin
Header := THeader((Sender as TStringGrid).FindStyleResource('header'));
if Assigned(Header) then
begin
for I := 0 to Header.Count - 1 do
begin
HeaderItem := Header.Items[I];
HeaderItem.Font.Size := 100;
HeaderItem.Font.Style := [TFontStyle.fsBold];
HeaderItem.TextSettings.HorzAlign := TTextAlign.Center;
// new code line:
HeaderItem.StyledSettings := HeaderItem.StyledSettings - [TStyledSetting.Size, TStyledSetting.Style];
end;
Header.Height := 48;
end;
end;