Textout imprime mon texte a l'envers ???

Signaler
Messages postés
1
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
17 juillet 2006
-
Messages postés
11
Date d'inscription
vendredi 2 janvier 2004
Statut
Membre
Dernière intervention
22 octobre 2007
-
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

Messages postés
11
Date d'inscription
vendredi 2 janvier 2004
Statut
Membre
Dernière intervention
22 octobre 2007

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®