2010-12-14 69 views
11

我目前在TLabel中显示一些文本。现在我想强调文本中的某些词语,方法是在加粗斜体中显示它们。 Delphi中推荐的方法是什么?有没有可以显示简单HTML或标记的TLabel类组件? 我想象像这样的代码:在Delphi中的标签中显示简单标记

label.text:='This information is <b>important</b>'; 

我使用德尔福2010

回答

11

JvHTLabel在JVCL将会很好地完成这个技巧。从http://jvcl.delphi-jedi.org/

+0

很棒的建议。我没有最终使用它,因为与TLabel不同,如果要显示多行,JvHTLabel不支持wordwrap。否则它工作。 – awmross 2010-12-15 01:47:28

4

检查THtmlViewer成分是免费的,用delphi兼容2010

+1

我发现这有点庞大,用作单TLabel(它的工作原理,但我无法弄清楚如何使它像TLabel一样透明)。最后,我删除了表单上的所有组件,并用一个HTMLViewer组件替换了整个组件,并使用HTML完成了布局/标记。 – awmross 2010-12-15 01:52:34

1

一些想法:

  1. 查看ExtCtrls中的TLinkLabel。 它可以让你添加链接..它绘制下划线链接的部分。也许你可以窃取代码并添加对其他标签的支持,如<b><i><strong><em>

  2. 您可以使用TRichEdit组件。它不是HTML,如您所描述的,但它应该做格式化您的文本的诀窍。

  3. 从此page使用TjanMarkupLabel。 “TjanMarkupLabel是TGraphicControl后裔呈现在HTML风格的Text属性支持标签:粗体,斜体,下划线,字体(外观,大小和颜色),并休息

+0

Tjan组件相当古老 - 远在Unicode Delphi之前。 – 2010-12-14 06:42:55

+0

TLinkLabel是Windows'SysLink'的一个包装,并没有我可以告诉支持样式。你所能做的就是超链接。 – 2010-12-14 09:39:41

+0

Tjan标签可以在Torry's找到,上面的链接已经死亡。 – Fr0sT 2014-08-06 16:54:46

2

还有一个下载全库:

德尔福标记标签

德尔福标记标签是德尔福的标签组件,支持一些类似HTML的标签显示的文本格式。其中,它支持超链接,标签,字体大小,颜色和样式的标签。完整的标签列表可以在随附的测试工具中找到。

http://www.infintuary.org/stlabel.php 单个pas文件,包括编译演示。某些格式化是通过自制标签实现的,因此它不会是传统的HTML。没有透明度。

+0

用TMDLabel = class(TGraphicControl)替换'TMDLabel = class(TCustomControl)'使得这个标签能够作为背景(例如在MDI父项上)。 – Fr0sT 2014-10-21 12:13:45