PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 26 → 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 ?
Started by Mike, Jun., 01 2021 3:49 PM - 7 replies
Registered member
95 messages
Posted on June, 01 2021 - 3:49 PM
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 !
Registered member
15 messages
Posted on June, 01 2021 - 4:18 PM
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.

PROCÉDURE 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
Registered member
95 messages
Posted on June, 01 2021 - 5:14 PM
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 !
Registered member
15 messages
Posted on June, 01 2021 - 5:24 PM
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
Registered member
95 messages
Posted on June, 01 2021 - 7:01 PM
Bien joué ! ... Le résultat :





--
Mike

• Soyez indulgents : je ne suis pas programmeur !
Registered member
95 messages
Posted on June, 11 2021 - 10:23 AM
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 !
Registered member
55 messages
Posted on June, 11 2021 - 10:37 AM
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.
Registered member
95 messages
Posted on June, 11 2021 - 12:09 PM
Dommage ! Peut-être à suggérer à PC soft (j'y vois ...) ?

Merci.

--
Mike

• Soyez indulgents : je ne suis pas programmeur !