delphi - 如何将标签中的某些字符更改为粗体?

标签 delphi label firemonkey delphi-10.1-berlin

我正在尝试制作一个矩形来显示一些信息。在这个矩形内我有很多标签,在这个标签中我想以粗体显示一些文本。例如:“名称:”<- 粗体,此后不粗体。

如果这是不可能的,我如何知道 label.text 的像素大小?如果我有这些信息,我可以创建两个标签并将第二个标签的位置设置为:label2.position.X := label1.textWidth;

谢谢!

最佳答案

使用标准标签控件,您唯一的选择是使用两个这样的控件,一个带有 Font.Style 包括 fsBold,另一个不包含.

放置第一个粗体标签,然后只要您保留/设置 AutoSize 属性 trueWidth 属性就会告诉您宽度:

// Where:
//
//   - boldLabel is a created, initialised and positioned
//      label with bold text 
//
//   - normalLabel is a created and initialised label which 
//      has not yet been positioned (horizontally)
//
//   - spacingPixels is the distance you wish to maintain
//      between the two

normalLabel.Position.X := boldLabel.Position.X + boldLabel.Width + spacingPixels;

有许多第三方标签控件,其中许多是免费+开源的(对于 VCL [见下文]),它们支持标签中不同程度的标记。 FMX 可能有类似的实现。

对于 VCL 项目,您可能需要查看 the JediVCL library其中包括一个标签,不仅支持粗体,还支持其他(尽管有限)HTML 标记。如果您对此感兴趣,您在该库中寻找的控件是 TJvHTLabel .

注意。供将来引用:您没有指定您的项目是 FMX 还是 VCL,但从使用 Position 属性来看,它很可能是 FMX。对于涉及控制的问题,正在使用的框架可能是一个重要因素,应该提及以避免引出可能不相关的答案。

关于delphi - 如何将标签中的某些字符更改为粗体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40873121/

相关文章:

delphi - 如何使用JPEG给表单提供静态背景图片并对其进行放置控制?

delphi - 从 Delphi 2010 IDE 打印格式化源代码

c - 如何定义Type A中的Type A和Type A中的Type B?

python - 如何更改框架内标签的位置?

javascript - 使用 D3.js 在文本值之间转换

android - Firemonkey 为 Android 启用 GPS 服务

delphi - 为什么 iOSapi.Foundation 中会注释 NSLogv 过程?

arrays - 如何使用 UITextField 输入附加数组?

delphi - FMX : Flatten Multiple Images

android - 火猴 TListView : How to color items at runtime?