You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Delphi FMX的TStringGrid中调整列标题字体大小?

解决TStringGrid列标题字体大小不生效的问题

问题出在StyledSettings属性的继承逻辑上:默认情况下,列标题的字体大小会被全局样式覆盖,即使你手动设置了HeaderSettings.TextSettings.Font.Size,只要StyledSettings包含Size,自定义的大小就不会生效。

设计时解决方案(优先推荐)

打开DFM编辑器或在对象检查器中操作:

  • 选中目标列(此处为StringColumn1)
  • 找到HeaderSettings -> StyledSettings属性,取消勾选Size选项
  • 此时你之前设置的HeaderSettings.TextSettings.Font.Size = 16就会正常显示

也可直接修改DFM代码,给StringColumn1添加一行属性配置:

object StringColumn1: TStringColumn
  Header = 'Operating System:'
  HeaderSettings.StyledSettings = [Family, Style, FontColor] // 排除Size,让自定义字体大小生效
  HeaderSettings.TextSettings.Font.Size = 16.00000000000000000
  HeaderSettings.TextSettings.WordWrap = False
  ReadOnly = True
  Size.Width = 795.00000000000000000
end

运行时解决方案

如果设计时修改无效,可在窗体创建事件中添加代码强制覆盖样式:

procedure TYourForm.FormCreate(Sender: TObject);
begin
  // 移除标题样式中的Size控制,让自定义字体大小生效
  GridOperatingSystemImages.Columns[0].HeaderSettings.StyledSettings := 
    GridOperatingSystemImages.Columns[0].HeaderSettings.StyledSettings - [ssSize];
  // 重新设置字体大小(设计时已设置可省略)
  GridOperatingSystemImages.Columns[0].HeaderSettings.TextSettings.Font.Size := 16;
end;

内容的提问来源于stack exchange,提问作者Shaun Roselt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 21:22:39