2010-12-14 10 views
11

Ich zeige gerade Text in einem TLabel an. Ich möchte nun bestimmte Wörter im Text hervorheben, indem Sie sie in fett oder vielleicht italic anzeigen. Was ist die empfohlene Vorgehensweise in Delphi? Gibt es eine TLabel-ähnliche Komponente, die einfaches HTML oder Markup anzeigen kann? Ich stelle mir vor, einige Code wie folgt aus:Einfaches Markup in einem Label in Delphi anzeigen

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

Ich verwende Delphi 2010

Antwort

11

JvHTLabel im JVCL wird den Trick sehr schön machen. Laden Sie die gesamte Bibliothek von http://jvcl.delphi-jedi.org/

+0

Großer Vorschlag. Ich habe es nicht benutzt, weil JvHTLabel im Gegensatz zu TLabel keine wordwrap unterstützt, wenn Sie mehrere Zeilen anzeigen möchten. Es hat anders funktioniert. – awmross

4

Überprüfen Sie die THtmlViewer Komponenten sind kostenlos und kompatibel mit delphi 2010

+1

Ich fand dies ein wenig sperrig für den Einsatz als eine einzige TLabel (es funktioniert, aber ich konnte nicht herausfinden, wie man es transparent wie ein TLabel machen). Am Ende entfernte ich alle Komponenten auf dem Formular und ersetzte das Ganze durch eine einzelne HTMLViewer-Komponente und erstellte das Layout/Markup in HTML. – awmross

1

Einige Ideen:

  1. Werfen Sie einen Blick auf TLinkLabel in ExtCtrls. Es können Sie Links hinzufügen .. Es zeichnet den verknüpften Teil unterstrichen. Vielleicht können Sie den Code stehlen und Unterstützung für andere Tags wie <b><i><strong><em> hinzufügen?

  2. Sie können eine TRichEdit-Komponente verwenden .. Es ist nicht HTML, wie Sie beschreiben, aber es sollte den Trick der Formatierung Ihres Textes tun.

  3. Verwenden Sie TjanMarkupLabel von diesem page. "TjanMarkupLabel ist ein TGraphicControl Nachkomme, der seine Eigenschaft Text im HTML-Stil macht Unterstützte Tags:.. Fett, Kursiv, Unterstrichen Schriftart (Gesicht, Größe und Farbe) und Pause"

+0

Die Tjan-Komponenten sind ziemlich alt - lange vor Unicode Delphi. –

+0

TLinkLabel ist ein Wrapper um den Windows 'SysLink' und nicht so weit, wie ich Support Styling sagen kann. Alles, was Sie damit tun können, sind Hyperlinks. –

+0

Tjan-Label könnte bei Torry gefunden werden, der obige Link ist tot. – Fr0sT

2

Noch eine:

Delphi Markup Etikett

Die Delphi-Markup Label ist ein Label-Komponente für Delphi, die einige HTML-Tags wie unterstützt den angezeigten Text zu formatieren. Unter anderem unterstützt es Tags für Hyperlinks, Tabs, Schriftgröße, Farbe und Stile. Die vollständige Liste der Tags finden Sie im zugehörigen Test-Tool.

http://www.infintuary.org/stlabel.php Einzel pas-Datei zusammengestellt Demo enthalten. Einige Formatierungen werden über selbst erstellte Tags implementiert, so dass es sich nicht um klassisches HTML handelt. Hat keine Transparenz.

+0

Ersetzen 'TMDLabel = class (TCustomControl)' 'mit TMDLabel = class (TGraphicControl)' macht dieses Label kann als Hintergrund dienen (MDI Eltern zum Beispiel). – Fr0sT