首页 > 解决方案 > Firemonkey 忽略在运行时创建标签时指示的 Font.Size

问题描述

我第一次尝试 Firemonkey,我发现在运行时创建标签时遇到问题。

我在运行时绘制带有描述标签的矩形,但这些标签总是以默认字体绘制,忽略我在其属性上设置的字体大小。

您可以在 Windows 本身创建一个新的空白多设备项目并将此代码放在 OnCreate 中看到问题:

procedure TForm2.FormCreate(Sender: TObject);
var Shape: TRectangle;
    Etiqueta: TLabel;
begin
  Shape := TRectangle.Create(Self);
  Shape.Align := Shape.Align.alClient;
  Shape.Parent := Self;

  Etiqueta := TLabel.Create(Shape);
  Etiqueta.Position.X := 20;
  Etiqueta.Position.Y := 50;
  Etiqueta.Width := 200;
  Etiqueta.TextSettings.Font.Size := 10;
  Etiqueta.Text := 'Small Font';
  Etiqueta.Parent := Shape;

  Etiqueta := TLabel.Create(Shape);
  Etiqueta.Position.X := 20;
  Etiqueta.Position.Y := 100;
  Etiqueta.Width := 200;
  Etiqueta.TextSettings.Font.Size := 20;
  Etiqueta.Text := 'Large Font';
  Etiqueta.Parent := Shape;
end;

一个标签的字体应该大于订单,但两个文本都使用相同的大小绘制。

可能是什么问题呢 ?。如果我在设计时放置两个具有相同属性的标签,它们会以正确的字体大小显示。

标签: delphifiremonkeydelphi-10.4-sydney

解决方案


推荐阅读