gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 03:21:00 24 4
gpt4 key购买 nike

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

如果这是不可能的,我如何知道 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com