OVH Cloud OVH Cloud

methode Print d'une form

4 réponses
Avatar
houbahop2003
Bonjour,
Je ne comprend pas pourquoi lorsque je fais.

MaForm.CurrentX=0
MaForm.CurrentY=0
MaForm.Print "Blablabla"

Le texte s'affiche mais il n'est pas reelement a 0,0 il y a quelques pixels
de décalage.
J'aimerais comprendre d'ou vient se décalage, savoir si on peut remédier a
ce problême pour reelement écrire a 0,0 avec la méthode .Print, et surtout
savoir si ce décalage sera le meme sur tous les ordinateurs, ou bien si il
sera de deux pixels chez l'un et trois chez l'autre, ou 4 ou ..

Merci,
Dominique.

4 réponses

Avatar
ng
Salut,

Je n'ai jamais constaté de tels décalages, que donne ce code ? :

'//Dessin persistant
Me.AutoRedraw = True
'//Tu parles de pixel donc travaillons en pixel
Me.ScaleMode = 3
Me.CurrentX = 0
Me.CurrentY = 0
Me.Print "Blablabla"

Peux-tu nous fournir plus de code ? Car c'est surement une autre instruction
qui provoque ce déclalage (Scale?).

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/



houbahop2003 a écrit :

Bonjour,
Je ne comprend pas pourquoi lorsque je fais.

MaForm.CurrentX=0
MaForm.CurrentY=0
MaForm.Print "Blablabla"

Le texte s'affiche mais il n'est pas reelement a 0,0 il y a quelques
pixels de décalage.
J'aimerais comprendre d'ou vient se décalage, savoir si on peut
remédier a ce problême pour reelement écrire a 0,0 avec la méthode
.Print, et surtout savoir si ce décalage sera le meme sur tous les
ordinateurs, ou bien si il sera de deux pixels chez l'un et trois
chez l'autre, ou 4 ou ..

Merci,
Dominique.


Avatar
houbahop2003
Bonjour,
Merci de ta réponse.
avec ton code j'ai le meme probleme;
puis je t'envoyer une capture d'écran par email?
Si oui a quel email stp?

Dominique.
"ng" a écrit dans le message de news:
#
Salut,

Je n'ai jamais constaté de tels décalages, que donne ce code ? :

'//Dessin persistant
Me.AutoRedraw = True
'//Tu parles de pixel donc travaillons en pixel
Me.ScaleMode = 3
Me.CurrentX = 0
Me.CurrentY = 0
Me.Print "Blablabla"

Peux-tu nous fournir plus de code ? Car c'est surement une autre


instruction
qui provoque ce déclalage (Scale?).

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/



houbahop2003 a écrit :

> Bonjour,
> Je ne comprend pas pourquoi lorsque je fais.
>
> MaForm.CurrentX=0
> MaForm.CurrentY=0
> MaForm.Print "Blablabla"
>
> Le texte s'affiche mais il n'est pas reelement a 0,0 il y a quelques
> pixels de décalage.
> J'aimerais comprendre d'ou vient se décalage, savoir si on peut
> remédier a ce problême pour reelement écrire a 0,0 avec la méthode
> .Print, et surtout savoir si ce décalage sera le meme sur tous les
> ordinateurs, ou bien si il sera de deux pixels chez l'un et trois
> chez l'autre, ou 4 ou ..
>
> Merci,
> Dominique.




Avatar
Pierre Alexis [MVP]
Salut,

Tu as écrit :

Le texte s'affiche mais il n'est pas reelement a 0,0 il y a quelques pixels
de décalage.
J'aimerais comprendre d'ou vient se décalage, savoir si on peut remédier a
ce problême pour reelement écrire a 0,0 avec la méthode .Print, et surtout
savoir si ce décalage sera le meme sur tous les ordinateurs, ou bien si il
sera de deux pixels chez l'un et trois chez l'autre, ou 4 ou ..



C'est normal. La place que prend une police de caractère est définie est
fonction de ses caractères les plus grands/les plus larges. Donc il est normal
d'avoir un espace entre le bord pour la majorité des caractères.

Ci-joint un exemple te montrant la "place réservée" pour le texte (la hauteur
du rectangle vert est le maximum des hauteurs de tous les caractères
composants la police).

--
Pierre ALEXIS - MVP Visual Basic Classique
Courriel & messenger :
FAQ Visual Basic : http://faq.vb.free.fr/


begin 666 ng.PNG
MB5!.1PT*&@H````-24A$4@```*D````H" (````*6TT%`````7-21T(`KLX<
MZ0````1G04U!``"QCPO804````@8TA230``>B8``("$``#Z````@.@``'4P
M``#J8 ``.I@``!=PG+I1/ ```=M)1$%4>%[MF>%NPS (A+,WWYMGBZ):"&-
M69,KDZ_:GW;8'/=A$[5?^[YO>JWIP"][O=9T8%NS;%5]W/=R85D'Q'Y9]#KW
MZZ(7>[%?V(%U2]>%_MU'5BW<IU[L7YL'UO_^CO^(("$XQ'@AO2PI[K37_N
M:27àB!>ING$?-GN;#R^#;*XS9:03#,/+)$=2V3N$SQ%]<V=P.1A&
M)HJG^R1[7.75R#>I@,O!L*OB:?$EV#<1K6SW2>_R:,FYP_E?:Z)]:X=T'YG,
M[ZFJECK/1Y]B,JC6(/(UEBN4[[R[;F"'.O#23!#RO!WHH(
MCUW")N07WA,].??)Z*WMPE$_A6N+#X42[%W+Y^3R.QGAU--R8!(&B)$JW-_
M..#::G1UD^_-HD32"!4,(Q_F8,9J><^F9'NX6CZ5!7.X_S,.>HY>S>&[".D
MG3)]6+@0A$$.8[,GEW=[NND(GP;<+NG/&XK]A59W.44FB[VP;Q_KLNT<S4'
M]!MN-2(/6+/[I:)K&O1H2G1^QY7E?+)/;5B/#TB#W/ZVJ9Q+X:$9X>L>=Y
M72V3V%<CPM,C]CROJV42^VI$>'K$GN=UM4QB7XT(3X_8[RNEDGLJQ'AZ?D!
4/W/G_.,@+SL`````245.1*Y"8((`
`
end
Avatar
houbahop2003
Pas béte...merci
J'ai la solution alors : .TextHeight
ou une police sans sérif.
D.

"Pierre Alexis [MVP]" a écrit dans le message de
news: urOBd$
Salut,

Tu as écrit :

> Le texte s'affiche mais il n'est pas reelement a 0,0 il y a quelques


pixels
> de décalage.
> J'aimerais comprendre d'ou vient se décalage, savoir si on peut remédier


a
> ce problême pour reelement écrire a 0,0 avec la méthode .Print, et


surtout
> savoir si ce décalage sera le meme sur tous les ordinateurs, ou bien si


il
> sera de deux pixels chez l'un et trois chez l'autre, ou 4 ou ..

C'est normal. La place que prend une police de caractère est définie est
fonction de ses caractères les plus grands/les plus larges. Donc il est


normal
d'avoir un espace entre le bord pour la majorité des caractères.

Ci-joint un exemple te montrant la "place réservée" pour le texte (la


hauteur
du rectangle vert est le maximum des hauteurs de tous les caractères
composants la police).

--
Pierre ALEXIS - MVP Visual Basic Classique
Courriel & messenger :
FAQ Visual Basic : http://faq.vb.free.fr/