2010-12-14 4 views
11

Je suis en train d'afficher du texte dans un TLabel. Je voudrais maintenant souligner certains mots dans le texte en les affichant dans gras ou peut-être italique. Quelle est la manière recommandée de le faire dans Delphi? Existe-t-il un composant semblable à TLabel qui peut afficher du code HTML ou un balisage simple? J'imagine un code comme ceci:Afficher un balisage simple dans une étiquette dans Delphi

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

J'utilise Delphi 2010

Répondre

11

JvHTLabel dans le JVCL fera l'affaire très bien. Téléchargez l'ensemble de http://jvcl.delphi-jedi.org/

+0

Excellente suggestion. Je n'ai pas fini par l'utiliser car, contrairement à TLabel, JvHTLabel ne prend pas en charge Wordwrap si vous voulez afficher plusieurs lignes. Cela a fonctionné autrement. – awmross

4

Vérifiez les composants THtmlViewer sont gratuits et compatibles avec delphi 2010.

+1

Je l'ai trouvé un peu encombrant pour l'utiliser comme un seul TLabel (ça marche, mais je n'arrivais pas à comprendre comment le rendre transparent comme un TLabel). À la fin, j'ai supprimé tous les composants sur le formulaire et remplacé le tout avec un seul composant HTMLViewer et fait la mise en page/tout en HTML. – awmross

1

Quelques idées:

  1. Jetez un oeil à TLinkLabel en ExtCtrls. Il vous permet d'ajouter des liens .. il peint la partie liée soulignée. Peut-être que vous pouvez voler le code et ajouter le support pour d'autres étiquettes comme <b><i><strong><em>?

  2. Vous pouvez utiliser un composant TRichEdit. Ce n'est pas du HTML comme vous le décrivez, mais il devrait faire l'affaire du formatage de votre texte.

  3. Utilisez TjanMarkupLabel à partir de ce page. "TjanMarkupLabel est un descendant TGraphicControl qui rend sa propriété Text dans le style des balises HTML prises en charge:.. Gras, Italique, Souligné, Police (visage, taille et couleur) et Pause"

+0

Les composants Tjan sont assez vieux - bien avant Unicode Delphi. –

+0

TLinkLabel est un wrapper autour de Windows 'SysLink' et n'est pas aussi loin que je puisse dire le style de support. Tout ce que vous pouvez faire avec c'est des hyperliens. –

+0

L'étiquette de Tjan pourrait être trouvée chez Torry, le lien ci-dessus est mort. – Fr0sT

2

Un plus:

Delphi Markup Étiquette

Le label de balisage Delphi est un composant d'étiquette pour Delphi qui prend en charge des balises comme HTML pour formater le texte affiché. Entre autres, il prend en charge les balises pour les hyperliens, les onglets, la taille de la police, la couleur et les styles. La liste complète des étiquettes peut être trouvée dans l'outil de test d'accompagnement.

http://www.infintuary.org/stlabel.php Fichier pas à pas, démo compilée incluse. Certaines mises en forme sont implémentées via des balises personnalisées, ce ne sera donc pas du HTML classique. N'a aucune transparence.

+0

Remplacer 'TMDLabel = class (TCustomControl)' par 'TMDLabel = class (TGraphicControl)' rend cette étiquette capable de servir d'arrière-plan (sur les parents MDI par exemple). – Fr0sT

Questions connexes