Textout imprime mon texte a l'envers ???

djizzio Messages postés 1 Date d'inscription vendredi 13 juin 2003 Statut Membre Dernière intervention 17 juillet 2006 - 17 juil. 2006 à 10:43
Manu_12 Messages postés 11 Date d'inscription vendredi 2 janvier 2004 Statut Membre Dernière intervention 22 octobre 2007 - 22 oct. 2007 à 12:22
Bonjour à tous,

voila je bloque depuis sur une semaine sur un probleme que je ne comprend absolument pas ...

j'utilise la fonction CDC::TextOut pour afficher du texte à l'ecran. Jusque là tout va bien.

Le probleme arrive quand j'utilise la meme fonction sur l'imprimante
... tout sort l'envers. Le texte est imprimé de bas en haut et inversé,
de telle facon que pour le lire il faut placer la feuille a l'envers
devant un mirroir. La seule chose que je fais avant mon impression est
de selection la mode MM_TWIPS avec setmapmode() et il me semble bien
que le probleme vienne de ce mode.

Si qqu a une idée, tout aide serait la bienvenue, je n'avance plus là ....

Merci à tous

1 réponse

Manu_12 Messages postés 11 Date d'inscription vendredi 2 janvier 2004 Statut Membre Dernière intervention 22 octobre 2007
22 oct. 2007 à 12:22
salut,
pour éviter ce problème il faut que tu crée une fonte avec la valeur 'orientation' identique à la valeur 'escapment' (voir ton type LogFont) qui te sert à créer ta font orientée
par défaut c'est tautomatique, pour inverser les lettres il faut definir le 'mapMode' a GM_ADVANCED (ou autre mode peut etre comme tu l'a fait)
'---------- selection du mode------------------------
Private Declare Function SetGraphicsMode Lib "gdi32" _
   (ByVal hdc As Long, ByVal iMode As Long) As Long
Private Const GM_ADVANCED = 2

apres cela si tu met lforientation à 0 et lfEscapment à 900 ton texte sera imprimé verticalement avec les lettres les unes sous les autres
T
E
X
T
si tu met les 2 à 900 ton texte sera bien à la verticale les lettres restant les unes à coté des autres

Manu®
0
Rejoignez-nous