问题
I am currently displaying some text in a TLabel. I would now like to emphasise certain words within the text by displaying them in bold or perhaps italic. What is the recommended way to do this in Delphi? Is there a TLabel-like component that can display simple HTML or markup? I am imagining some code like this:
label.text:='This information is <b>important</b>';
I am using Delphi 2010
回答1:
JvHTLabel in the JVCL will do the trick very nicely. Download the whole library from http://jvcl.delphi-jedi.org/
回答2:
Check the THtmlViewer components are free and compatible with delphi 2010.
回答3:
One more:
Delphi Markup Label
The Delphi Markup Label is a label component for Delphi that supports some HTML-like tags to format the displayed text. Amongst others, it supports tags for hyperlinks, tabs, font size, color and styles. The full list of tags can be found in the accompanying test tool.
http://www.infintuary.org/stlabel.php Single pas file, compiled demo included. Some formatting is implemented via self-made tags so it won't be classic HTML. Has no transparence.
回答4:
If you are already using a newer version of Delphi (at least the XE2 version), you can take a look at my TDzHTMLText component at: https://github.com/digao-dalpiaz/DzHTMLText
This component is a label with some HTML tags support, allowing you to format the text with Bold, Italic, Underline, Font Color, Font Size, Background Color, Tab Alignment, Text Alignment (left, center, right).
Check a print example:
DzHTMLText component example at design-time
The list below describes all possible tags to format label text:
<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:
Some ideas:
Have a look at
TLinkLabel
inExtCtrls
. It lets you add links.. it paints the linked part underlined. Maybe you can steal the code and add support for other tags like<b>
<i>
<strong>
<em>
?You can use a TRichEdit component.. It's not HTML as you describe, but it should do the trick of formatting your text.
Use TjanMarkupLabel from this page. "TjanMarkupLabel is a TGraphicControl descendant that renders its Text property in HTML style. Supported tags: Bold, Italic, Underline, Font (face, size and color) and Break."
来源:https://stackoverflow.com/questions/4435865/display-simple-markup-in-a-label-in-delphi