PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Adaptation de la taille de la police de caractère dans les étiquettes ?
Adaptation de la taille de la police de caractère dans les étiquettes ?
Débuté par Mike, 01 juin 2021 15:49 - 7 réponses
Membre enregistré
118 messages
Posté le 01 juin 2021 - 15:49
Bonjour,

Certains logiciels d'impression d'étiquettes permettent que la taille de la police de caractère s'adapte en fonction du nombre de lignes de texte devant y figurer ; de façon à ce que toutes les lignes du contenu de l'étiquette apparaissent dans tous les cas (par exemple, trois lignes sur une étiquette - avec un police de '20' - puis quatre lignes sur l'étiquette suivante - avec un police de '16' - ; ces lignes occupant la totalité de l'espace réservé.
Cela est-il possible dans Windev ?

Vous remerciant,

NB : sujet déjà publié, mais sans m’être connecté ... Donc -> Bis ...

--
Mike

• Soyez indulgents : je ne suis pas programmeur !
Membre enregistré
18 messages
Popularité : +1 (1 vote)
Posté le 01 juin 2021 - 16:18
Bonjour,

J'utilise cette procédure dans mes applications.

En gros, les champs sont auto-extensible et si je détecte que la hauteur du champ est plus grande que la haute initiale du champ je réduis la taille de la police jusqu'à ce que cela rentre.

Procedure fRéduirePoliceChamps(cChamps est une chaîne, nTailleDéfaut est un entier = 0)

SI nTailleDéfaut <> 0 ALORS {cChamps,indChamp}..PoliceTaille = nTailleDéfaut

TANTQUE Arrondi({cChamps,indChamp}..HauteurFuture) > Arrondi({cChamps,indChamp}..HauteurInitiale)
{cChamps,indChamp}..PoliceTaille--
SI {cChamps,indChamp}..PoliceTaille <= 1 ALORS SORTIR
FIN
Membre enregistré
118 messages
Posté le 01 juin 2021 - 17:14
OK !

Je vais étudier tout cela car je ne suis pas très coutumier de ces paramètres ou propriétés des champs/états ...

(cf. : {cChamps,indChamp} .. ??)

Un grand merci

--
Mike

• Soyez indulgents : je ne suis pas programmeur !
Membre enregistré
18 messages
Popularité : +1 (1 vote)
Posté le 01 juin 2021 - 17:24
Les accolades, c'est pour utiliser une indirection
https://doc.pcsoft.fr/fr-fr/?1512005

Par exemple si vous avez une champs LIB_TEST, vous utiliser la procédure de la manière ci-dessous

fRéduirePoliceChamps("LIB_TEST",8)
ou
fRéduirePoliceChamps(LIB_TEST..Nom,8)

et donc dans {cChamps,indChamp}
cChamps va contenir le nom du champ LIB_TEST et WinDev va chercher le champ LIB_TEST
Membre enregistré
118 messages
Posté le 01 juin 2021 - 19:01
Bien joué ! ... Le résultat :





--
Mike

• Soyez indulgents : je ne suis pas programmeur !
Membre enregistré
118 messages
Posté le 11 juin 2021 - 10:23
Bonjour,

à ce propos, j'ai trouvé ceci dans le PDF de présentation de la version 25 (impossible de télécharger l'image !?) :

212
Nouveauté WD WB WM
CHAMPS LIBELLÉ: SI CONTENU TROP LONG, RÉDUCTION AUTOMATIQUE DE LA TAILLE DE LA POLICE
Un champ Libellé peut avoir un contenu dynamique, affecté par programmation.Dans certains cas, le contenu peut être trop long et donc est tronqué.L’option «ellipse» permet déjà d’afficher «...» à la fin du contenu pour avertir l’utilisateur final que le libellé est tronqué.En version 25, lorsque le texte est trop long, la nouvelle option «réduction» permet de réduire automatiquement la taille de la police du texte pour qu’il rentre entièrement dans le champ.La taille minimale de la police est paramétrable.A l’exécution: En haut, avec option «ellipse»: le contenu est tronqué En bas, avec l’option «réduction» : la taille de la police a été automatiquement réduite, le contenu entier est affiché ...

... mais je ne parviens pas à trouver cette option « réduction » dans les huit onglets ?

Bonne journée.

--
Mike

• Soyez indulgents : je ne suis pas programmeur !
Membre enregistré
201 messages
Popularité : +3 (7 votes)
Posté le 11 juin 2021 - 10:37
Cette option n'est disponible que sur les champs de type "libellé" des fenêtres (onglet "Détail" du champ) et donc pas pour les libellés des états.
Membre enregistré
118 messages
Posté le 11 juin 2021 - 12:09
Dommage ! Peut-être à suggérer à PC soft (j'y vois ...) ?

Merci.

--
Mike

• Soyez indulgents : je ne suis pas programmeur !