4D v13.4

Multistyle (Zone de texte riche)

Accueil

 
4D v13.4
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, Texte ainsi qu’aux cellules de listbox. Elle est prise en charge pour les formulaires page, liste, à l’affichage et à l’impression. 

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 (Windows uniquement) 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 OBJET FIXER ATTRIBUT TEXTE STYLE.

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 OBJET Lire texte brut permet de récupérer le texte brut sans balises de style.

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

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 des commandes standard d’édition de texte (couper, copier, coller) ainsi que les commandes de modification de style prises en charge : police, taille, style, couleur et (Windows) couleur de fond :

Lorsque l’utilisateur modifie un attribut de style via ce pop up menu, 4D génère l’événement formulaire Sur après modification.

Notes :

  • Il est également possible de modifier les styles via la commande OBJET FIXER ATTRIBUT TEXTE STYLE. 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.

Les commandes permettant de manipuler des objets texte par programmation ne tiennent pas compte des éventuelles balises de style intégrées au texte. Elles agissent sur le texte affiché. Il s’agit des commandes suivantes :

A noter que, lorsque vous utilisez ces commandes avec des commandes de manipulation des chaînes de caractères, il est nécessaire de filtrer les caractères de formatage à l’aide de la commande OBJET Lire texte brut :

 SELECTIONNER TEXTE([Produits]Notes;1;Longueur(OBJET Lire texte brut([Produits]Notes))+1)

  • Thème Propriétés des objets
    Les commandes permettant de modifier le style des objets (par exemple OBJET FIXER POLICE) s’appliquent à l’objet entier et non à la sélection.
    A noter que si l’objet n’a pas le focus au moment de l’exécution de la commande, la modification est appliquée simultanément à l’objet (la zone de texte) et à sa variable associée. Si l’objet a le focus, la modification est effectuée sur l’objet mais pas sur la variable associée. La modification n’est appliquée à la variable qu’au moment où l’objet perd le focus. Gardez ce principe à l’esprit lorsque vous programmez les zones de texte. 

Si l’option "Stocker les balises par défaut" est cochée pour l’objet, l’utilisation de ces commandes provoquera une modification des balises enregistrées avec chaque objet.

Lorsqu’elle est utilisée avec une zone de texte riche, la commande Lire texte edite (thème Evénements formulaire) retourne le texte de la zone courante en incluant les éventuelles balises de style. 

Pour récupérer le texte "brut" (texte sans balises) en cours d’édition, vous devez utiliser la commande OBJET Lire texte brut :

 OBJET Lire texte brut(Lire texte edite)

Les recherches et les tris effectués parmi des objets multistyles tiennent compte des éventuelles balises de style enregistrées dans l’objet. Si une modification de style a été apportée à l’intérieur d’un mot, une recherche sur ce mot sera infructueuse. 

Pour pouvoir effectuer des recherches et des tris valides, vous devez utiliser la commande OBJET Lire texte brut. Par exemple :

 CHERCHER PAR FORMULE([MaTable];OBJET Lire texte brut([MaTable]MonchampStyle)="très bien")

Ce paragraphe liste les attributs des balises <SPAN> pris en charge par 4D dans les zones de texte riche. Vous pouvez utiliser ces balises pour mettre en place une gestion personnalisée des styles. Seules les balises listées ci-dessous sont prises en charge par 4D pour les variations de style.

<SPAN STYLE="font-family: DESDEMONA"> ... </SPAN>

<SPAN STYLE="font-size: 20pt"> ... </SPAN>

  • Gras
    <SPAN STYLE="font-weight: bold"> ... </SPAN>
  • Italique ou normal
    <SPAN STYLE="font-style: italic"> ... </SPAN>
    <SPAN STYLE="font-style: normal"> ... </SPAN>
  • Souligné
    <SPAN STYLE="text-decoration: underline"> ... </SPAN>
  • Barré
    <SPAN STYLE="text-decoration:line-through">...</SPAN>
    Note : Le style "barré" n’est pas pris en charge sous Mac OS. La balise correspondante peut toutefois être gérée par programmation.

<SPAN STYLE="color:green"> ... </SPAN> 
ou
<SPAN STYLE="color:#006CCC">...</SPAN>

<SPAN STYLE="background-color:green"> ... </SPAN>
ou
<SPAN STYLE="background-color:#006CCC">...</SPAN>

Note : Sous Mac OS, cet attribut est ignoré. Il est supprimé en cas de modification de l’objet.

Pour les attributs de couleur de police et couleur de fond, la valeur de couleur peut être soit le code hexadécimal des couleurs RVB, soit le nom d’une des 16 couleurs HTML définies pour le standard CSS par le W3C : 


 
PROPRIÉTÉS 

Produit : 4D
Thème : Propriétés des objets actifs
Nom intl. : Multi-style (Rich text area)

 
MOTS-CLÉS 

texte riche, rich text area***