Formatage des lignes dans Rich Edit à l'aide de Delphi SelText & SelStart

Le contrôle Delphi TRichEdit est un wrapper pour un contrôle d'édition de texte enrichi Windows. Vous pouvez utiliser un contrôle Rich Edit pour afficher et modifier des fichiers RTF.

Bien que vous puissiez créer une interface utilisateur agréable "autour" du contrôle Rich Edit avec des boutons de barre d'outils pour définir et modifier les attributs d'affichage du texte, l'ajout de lignes formatées à Rich Edit par programme est assez lourd - comme vous le verrez.

Comment ajouter des lignes formatées à Rich Edit

Créer audacieux texte d'une sélection de texte affiché dans le contrôle Rich Edit, au moment de l'exécution, vous devez créer une section de texte, puis définir les propriétés de la sélection sur SelAttributes.

Cependant, que se passe-t-il si vous ne traitez pas avec une sélection de texte et que vous souhaitez ajouter (ajouter) texte formaté à un contrôle Rich Edit? Tu pourrais penser Lignes La propriété peut être utilisée pour ajouter du texte en gras ou en couleur à Rich Edit. pourtant, Lignes est un simple TStrings et n'acceptera que du texte brut et non formaté.

N'abandonnez pas - bien sûr, il y a une solution.

Regardez cet exemple pour obtenir de l'aide:

 // richEdit1 de type TRichEdit avec richEdit1 faire commencer // déplace le curseur à la fin SelStart: = GetTextLen; // ajoute une ligne non formatée SelText: = 'Ceci est la première ligne' + # 13 # 10; // ajoute du texte de police normal SelText: = 'Lignes formatées dans RichEdit' + # 13 # 10; // texte plus grand SelAttributes.Size: = 13; // ajouter gras + rouge SelAttributes.Style: = [fsBold]; SelAttributes.Color: = clRed; SelText: = 'À propos'; // seulement en gras SelAttributes.Color: = clWindowText; SelText: = 'Delphi'; // ajouter italique + bleu SelAttributes.Style: = [fsItalic]; SelAttributes.Color: = clBlue; SelText: = 'Programmation'; //nouvelle ligne SelText: = # 13 # 10; // rajoute normal SelAttributes.Size: = 8; SelAttributes.Color: = clGreen; SelText: = 'pensez à la procédure personnalisée AddFormattedLine…'; fin; 

Pour commencer, déplacez le curseur à la fin du texte dans Rich Edit. Ensuite, appliquez la mise en forme avant d'ajouter réellement le nouveau texte.