4D v16.3

Multistyle (Zone de texte riche)

Accueil

 
4D v16.3
Multistyle (Zone de texte riche)

Multistyle (Zone de texte riche)  


 

4D permet d’utiliser des zones de "texte riche" (rich text) comportant des variations de style individuelles. Par exemple, il est possible de mettre des mots en gras, en italique ou en couleur à l’intérieur d’une zone de texte :

Cette fonction est disponible pour les champs et variables de type Alpha et Texte ainsi que pour les cellules de listbox. Elle est prise en charge pour les formulaires page, liste, à l’affichage et à l’impression.

Note : Les zones de texte riche ne sont pas utilisables dans les contextes suivants : filtres de saisie, états rapides et éditeur d’étiquettes.

Des options spécifiques de la Liste des propriétés permettent de configurer le fonctionnement des zones de texte riche. 

Les attributs accessibles sont la police, la taille, le style, la couleur du texte et la couleur du fond. Pour modifier des attributs de style dans une zone de texte riche, vous disposez de deux possibilités :

  • en exécution, utiliser un pop up menu automatique (la disponibilité de ce menu est configurable dans la Liste des propriétés).
  • par programmation, utiliser la commande ST SET ATTRIBUTES.

Dans les zones de texte riche, les attributs de style sont stockés sous forme de balises HTML de type <SPAN>. Au moment de l’affichage, ces balises sont interprétées par 4D. Ce principe permet au développeur de définir et de modifier des attributs de style dans un texte par programmation. Les attributs <SPAN> pris en charge par 4D sont décrits ci-dessous. La commande ST Get plain text permet de récupérer le texte brut sans balises de style.

Pour une description des commandes de gestion des zones de texte riche et des balises <span> prises en charge, reportez-vous au chapitre Texte multistyle dans le manuel Langage de 4D.

Les propriétés de gestion du texte riche sont disponibles pour les variables saisissables, les champs et les cellules de listbox de type Alpha ou Texte.

Cette option (thème "Texte") active la possibilité d’utiliser des styles spécifiques dans la zone sélectionnée. Lorsque cette option est cochée, 4D interprète les éventuelles balises HTML <SPAN> présentes dans la zone. 

Par défaut, cette option n’est pas cochée.

Cette option n’apparaît que si l’option Multistyle a été cochée. Elle est également située dans le thème "Texte".
Lorsque cette option est cochée, la zone stockera des balises de style avec le texte, même si aucune modification n’est effectuée. Dans ce cas, les balises correspondent au style par défaut. Lorsque cette option n’est pas cochée, seules les balises de style modifié sont stockées.

Par exemple, voici un texte comportant une modification de style :

Si l’option "Stocker les balises par défaut" n’est pas cochée, la zone ne stocke que la modification. Le contenu stocké est donc :

What a <SPAN STYLE="font-size:13.5pt">beautiful</SPAN> day!

Si l’option est cochée, la zone stocke toutes les informations de formatage. Une première balise générique décrit le style par défaut puis chaque variation fait l’objet d’une paire de balises imbriquées. Le contenu stocké dans la zone est alors :

<SPAN STYLE="font-family:'Arial';font-size:9pt;text-align:left;font-weight:normal;font-style:normal; text-decoration:none;color:#000000;background-color:#FFFFFF">What a <SPAN STYLE="font-size:13.5pt">beautiful</SPAN> day!</SPAN>

Cette option n’apparaît que si l’option Multistyle a été cochée. Attention, elle est située dans le thème "Saisie" de la Liste des propriétés.

L'option Menu contextuel permet d’activer pour l’utilisateur la possibilité d’appeler en cours de saisie un pop up menu via un clic droit dans la zone :

Ce pop up menu propose les commandes suivantes :

  • commandes standard d’édition de texte (couper, copier, coller) 
  • Polices... : affiche la boîte de dialogue système du gestionnaire de police.
  • Polices récentes : affiche les noms des dernières polices sélectionnées durant la session. La liste peut contenir jusqu’à 10 polices (au-delà, la dernière police utilisée remplace la plus ancienne). Par défaut, cette liste est vide et l’option n’est pas affichée. Vour pouvez gérer cette liste à l’aide des commandes SET RECENT FONTS et FONT LIST.
  • commandes de modification de style prises en charge : taille, style, couleur et couleur de fond.

Lorsque l’utilisateur modifie un attribut de style via ce pop up menu, 4D génère l’événement formulaire On After Edit.

Notes :

  • Il est également possible de modifier les styles via la commande ST SET ATTRIBUTES. A noter que dans ce cas, aucun événement formulaire n’est généré. 
  • Le style "barré" n’est pas pris en charge sous Mac OS. La balise correspondante peut toutefois être utilisée par programmation.

Les attributs de style pris en charge (police, taille, style et couleur) sont conservés en cas de glisser-déposer ou copier-coller de texte stylé entre :   

  • différentes zones de texte riche à l’intérieur de 4D (variables/champs texte et listbox)
  • une zone 4D Write et une zone de texte riche 4D,
  • un texte externe stylé et une zone de texte riche 4D.

Dans les autres cas, les styles seront conservés suivant le contexte.

Survol  

Deux automatismes sont proposés lors du survol d’une zone multistyle :

  • lors du passage au-dessus d’une sélection de texte, le curseur prend la forme d’une flèche :
  • lors du passage au-dessus d’un lien URL, une infobulle apparaît, contenant l’adresse :

Note : Vous insérerez des liens URL à l’aide de la commande ST INSERT URL.

Lorsqu’un champ ou une variable de type Texte ou Alpha multistyle contient un URL (chaîne débutant par http://, https:// ou ftp://), celui-ci est automatiquement détecté. Si l’utilisateur effectue Ctrl+clic (Windows) ou Commande+clic (Mac OS) dans la zone, l’URL est alors directement exécuté dans le navigateur Web par défaut. Sous Windows, les URLs détectés sont affichés en bleu et souligné :

 
PROPRIÉTÉS 

Produit : 4D
Thème : Propriétés des objets actifs

 
HISTORIQUE 

 
MOTS-CLÉS 

texte riche, rich text area

 
UTILISATION DE L'ARTICLE

4D - Mode Développement ( 4D v16)
4D - Mode Développement ( 4D v16.1)
4D - Mode Développement ( 4D v16.3)