【问题标题】:Display simple markup in a Label in Delphi在 Delphi 的标签中显示简单标记
【发布时间】:2011-05-25 01:35:19
【问题描述】:

我目前正在 TLabel 中显示一些文本。我现在想通过粗体斜体来强调文本中的某些单词。在 Delphi 中推荐的方法是什么?是否有类似 TLabel 的组件可以显示简单的 HTML 或标记? 我正在想象一些这样的代码:

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

我使用的是 Delphi 2010

【问题讨论】:

    标签: delphi


    【解决方案1】:

    JVCL 中的 JvHTLabel 可以很好地解决问题。从http://jvcl.delphi-jedi.org/下载整个库

    【讨论】:

    • 很好的建议。我最终没有使用它,因为与 TLabel 不同,如果您想显示多行,JvHTLabel 不支持自动换行。否则它会起作用。
    【解决方案2】:

    检查THtmlViewer 组件是否免费且与delphi 2010 兼容。

    【讨论】:

    • 我发现这个用作单个 TLabel 有点笨重(它可以工作,但我不知道如何让它像 TLabel 一样透明)。最后,我删除了表单上的所有组件,并用一个 HTMLViewer 组件替换了整个东西,并在 HTML 中完成了布局/标记。
    【解决方案3】:

    还有一个:

    德尔福标记标签

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

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

    【讨论】:

    • TMDLabel = class (TCustomControl) 替换为TMDLabel = class (TGraphicControl) 使该标签能够用作背景(例如在MDI 父级上)。
    【解决方案4】:

    如果您已经在使用较新版本的 Delphi(至少是 XE2 版本),您可以查看我的 TDzHTMLText 组件:https://github.com/digao-dalpiaz/DzHTMLText

    这个组件是一个支持一些HTML标签的标签,允许你用粗体、斜体、下划线、字体颜色、字体大小、背景颜色、标签对齐、文本对齐(左、中、右)来格式化文本。

    检查打印示例:

    DzHTMLText component example at design-time

    下面的列表描述了所有可能的标签来格式化标签文本:

    <A[:abc]></A> - Link
    <B></B> - Bold
    <I></I> - Italic
    <U></U> - Underline
    <S></S> - Strike out
    <FN:abc></FN> - Font Name
    <FS:123></FS> - Font Size
    <FC:clColor|$999999></FC> - Font Color
    <BC:clColor|$999999></BC> - Background Color
    <BR> - Line Break
    <L></L> - Align Left
    <C></C> - Align Center
    <R></R> - Aligh Right
    <T:123></T> - Tab
    <TF:123></TF> - Tab with aligned break
    

    【讨论】:

    • 嘿!欢迎来到堆栈,很高兴看到您做出贡献:) 改进此答案的想法是对其进行编辑,以提供一些示例,说明您将如何在代码中使用此类组件。
    • 嘿!我查看了答案并完成了标签使用的详细说明和打印示例。我认为现在的答案更好。谢谢。
    【解决方案5】:

    一些想法:

    1. ExtCtrls 中查看TLinkLabel。 它可以让你添加链接..它画下划线的链接部分。也许您可以窃取代码并添加对其他标签的支持,例如&lt;b&gt;&lt;i&gt;&lt;strong&gt;&lt;em&gt;

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

    3. 从此page 使用TjanMarkupLabel。 "TjanMarkupLabel 是 TGraphicControl 的后代,它以 HTML 样式呈现其 Text 属性。支持的标签:粗体、斜体、下划线、字体(面、大小和颜色)和中断。"

    【讨论】:

    • Tjan 组件已经很老了 - 早在 Unicode Delphi 之前。
    • TLinkLabel 是围绕 Windows 'SysLink' 的包装器,据我所知不支持样式。你能做的就是超链接。
    • Tjan 标签可以在 Torry's 找到,上面的链接已经失效了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    相关资源
    最近更新 更多