|
Inicio → WINDEV 2024 → Imprimer et Aligner des mots sur le BAS des lettres et non sur le haut |
Imprimer et Aligner des mots sur le BAS des lettres et non sur le haut |
Iniciado por jean.tuyaerts, set., 15 2005 7:22 PM - 5 respostas |
| |
| | | |
|
| |
Publicado em setembro, 15 2005 - 7:22 PM |
Bonjour,
En utilisant "iImprimemot" : est-il possible d'imprimer deux mots, sur une même ligne, en utilisant des polices de tailles différentes, et de faire en sorte que l'alignement se fasse sur la bas des lettres et non sur le haut des lettres ?
Exemple : iCréePolice(1,12,iGras,"Arial") iCréePolice(2,8,iNormal,"Arial") iImprimemot(iPolice(1)+"MA SOCIETE"+iPolice(2)+"sa")
Un grand merci à celui (ceux) qui pourraient me répondre. |
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 16 2005 - 2:19 PM |
Bonjour,
iAperçu(i100) iCréePolice(1,12,iGras,"Arial") iCréePolice(2,8,iNormal,"Arial") iImprimeMot(iPolice(1)+"MA SOCIETE") iPosY(iPosY+1) iImprimeMot(iPolice(2)+"sa") iFinImprime()
-- Ed en Ligne
"Jean Tuyaerts" <jean.tuyaerts@tiscali.be> a écrit dans le message de news: 43299929$1@news.pcsoft.fr...
Bonjour,
En utilisant "iImprimemot" : est-il possible d'imprimer deux mots, sur une même ligne, en utilisant des polices de tailles différentes, et de faire en sorte que l'alignement se fasse sur la bas des lettres et non sur le haut des lettres ?
Exemple : iCréePolice(1,12,iGras,"Arial") iCréePolice(2,8,iNormal,"Arial") iImprimemot(iPolice(1)+"MA SOCIETE"+iPolice(2)+"sa")
Un grand merci à celui (ceux) qui pourraient me répondre.
|
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 16 2005 - 4:42 PM |
Bonjour,
En fait en windev 5, l'alignement se faisait sur le bas, ce qui me semble le plus logique (fonctionnement Word par exemple).
Depuis Windev7, ca a changé et pas moyen, malgré plusieurs demande au ST, d'avoir une fonction équivalente.
Ce qui existe est Iparamètre("Windev55=vrai") (il me semble) pour simuler les éditions Windev5. Mais c'est pas génial.
SLTS |
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 16 2005 - 6:31 PM |
Merci, cela fonctionne avec deux polices de 12 et 8 points. Mais en passant à d'autres tailles (15 et 8 par ex.), cela n'est plus aligné.
Je cherche un moyen de déterminer le nombre de points séparant la "base line" d'une police d'une certaine hauteur et la "base line" d'une police d'une autre hauteur pour calculer le X de l'expression : iPosy(iPosy()+X)
en essayant ce qui suit : ydif est un réel ydif = iHauteurTexte(ipolice(1)+chaine1) - iHauteurTexte(ipolice(2)+chaine2) iPosY(iPosY+ydiff) cela ne fonctionne pas. Sans doute parce le nombre de points entre le bas de la police et la "base line" est différent pour les 2 polices.
Je pourrais sans doute résoudre mon problème (1) si je pouvais récupérer le "device context" de l' "imprimante" après iApercu afin d'utiliser l'API --> SetTextAlign avec TA_BASELINE. Mais je ne trouve pas comment le récupérer. (expérience windev = 1mois)
(1) pour faire bref, je dois transposer en windev une routine d'édition de documents type Facture etc dont je peux facilement récupérer la description. Utiliser WDeta ne serait pas possible (des centaines de modèles différents). |
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 19 2005 - 11:51 AM |
Bonjour,
Désolé, voici une procédure valable quelque soit la police utilisée.
HauteurTexte1 est un entier
HauteurTexte2 est un entier
iAperçu(i100)
iCréePolice(1,12,iGras,"Arial")
iCréePolice(2,8,iNormal,"Arial")
iImprimeMot(iPolice(1)+"MA SOCIETE")
HauteurTexte1=iHauteurTexte(iPolice(1)+"MA SOCIETE")
HauteurTexte2=iHauteurTexte(iPolice(2)+"sa")
iPosY(iPosY+(HauteurTexte1-HauteurTexte2))
iImprimeMot(iPolice(2)+"sa")
iFinImprime()
-- Ed en Ligne
"Jean Tuyaerts" <jean.tuyaerts@tiscali.be> a écrit dans le message de news: 432aded6$1@news.pcsoft.fr...
Merci, cela fonctionne avec deux polices de 12 et 8 points. Mais en passant à d'autres tailles (15 et 8 par ex.), cela n'est plus aligné.
Je cherche un moyen de déterminer le nombre de points séparant la "base line" d'une police d'une certaine hauteur et la "base line" d'une police d'une autre hauteur pour calculer le X de l'expression : iPosy(iPosy()+X)
en essayant ce qui suit : ydif est un réel ydif = iHauteurTexte(ipolice(1)+chaine1) - iHauteurTexte(ipolice(2)+chaine2) iPosY(iPosY+ydiff) cela ne fonctionne pas. Sans doute parce le nombre de points entre le bas de la police et la "base line" est différent pour les 2 polices.
Je pourrais sans doute résoudre mon problème (1) si je pouvais récupérer le "device context" de l' "imprimante" après iApercu afin d'utiliser l'API --> SetTextAlign avec TA_BASELINE. Mais je ne trouve pas comment le récupérer. (expérience windev = 1mois)
(1) pour faire bref, je dois transposer en windev une routine d'édition de documents type Facture etc dont je peux facilement récupérer la description. Utiliser WDeta ne serait pas possible (des centaines de modèles différents).
|
| |
| |
| | | |
|
| | |
| |
Publicado em setembro, 19 2005 - 12:51 PM |
Merci pour votre précision, mais ...
en essayant avec des polices de tailles 18 et 8 (entre autres). "sa" vient toujours plus bas que "Ma SOCIETE". Comme je le disais dans mon précédent message, j'ai l'impression que cela provient du fait que le nombre de points entre le bas de la police et la "baseline" n'est pas le même pour des polices de tailles différentes (et que "iHauteurTexte" se calcule sur la hauteur totale de la police). |
| |
| |
| | | |
|
| | | | |
| | |
|