【发布时间】:2016-11-29 18:26:40
【问题描述】:
我正在尝试制作一个矩形来显示一些信息。在这个 Rectangle 里面我有很多标签,在这个标签中我想用粗体显示一些文本。例如:'Name:'
如果这不可能,我怎么知道 label.text 的像素大小?如果我有这些信息,我可以创建两个标签并将第二个的位置设置为:label2.position.X := label1.textWidth;
谢谢!
【问题讨论】:
-
最简单的解决方案是使用单独的标签。
-
我是在运行时创建的,所以,如果我使用 2 个标签,我需要知道第一个标签的文本在哪里结束。我怎么知道这个?
-
label1.Canvas.TextWidth(label1.Caption)
-
或者,默认情况下,标签已启用自动大小。
-
你可以在分配
Label1.Caption后设置Label2.Position.X := Label1.Position.X + Label1.Width。更好的选择是将两个标签放在TRelativePanel上,然后您可以设置Label2.RightOf = Label1,使其保持在Label1 的右侧,无论Label1 的宽度有什么变化。见Using the Relative Panel。
标签: delphi label firemonkey delphi-10.1-berlin