FireMonkey Label 运行期动态创建改字体大小

用 FireMonkey 框架做 APP,在设计期拖一个 Label 过来,要修改它显示的文字的字体大小和颜色,直接在属性面板里面的 TextSettings 里面可以手动修改。也可以在运行期用代码修改:Label1.TextSettings.Font.Size := 18;


但是,如果这个 Label1 是运行期动态创建的,则 Label1.TextSettings.Font.Size := 18; 无效。文字显示还是默认大小。

上网查了一下,在这里有个说法:https://stackoverflow.com/questions/13884089/how-to-programmatically-alter-font-properties-in-firemonkey-controls


简单点说,就是因为:

In firemonkey TLabel properties Font.Family and Font.Size are styled. If you want change font size or family in the code, you need to disable styling on this properties. To change this, set properly property StyledSettings.

翻译:在 FireMonkey 里面,TLabel 的字体等属性是 Styled 的,也就是被它的 Style 框架掌握了,代码就修改不了(那为什么设计期拖过来的又可以修改?)。

要解决这个问题,就是让 Style 不要去管它,也就是要去掉它的 Style,代码如下:

ALabel.StyledSettings:=ALabel.StyledSettings-[TStyledSetting.Size, TStyledSetting.FontColor];


动态创建的 ALabel,在加上这行代码后,其字体大小可以通过程序来设置,代码的设置可以起作用了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值