Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Imprimer un texte suivant un angle précis

7 réponses
Avatar
GRANGOUROU
Je voudrais savoir comment envoyer à l'imprimante un texte avec une rotation de 90° ou autre, l'article 461609 traite de ce sujet mais ne fonctionne pas sous VB 6.

Sinon ou puis-je trouver une liste des fonction API du GDI?

7 réponses

Avatar
ng
Salut,

Regarde du coté de l'API CreateFontIndirect() :

'In general section
Private Declare Function CreateFontIndirect Lib "gdi32" Alias
"CreateFontIndirectA" (lpLogFont As LOGFONT) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal
hObject As Long) As Long
Private Const LF_FACESIZE = 32
Private Type LOGFONT
lfHeight As Long
lfWidth As Long
lfEscapement As Long
lfOrientation As Long
lfWeight As Long
lfItalic As Byte
lfUnderline As Byte
lfStrikeOut As Byte
lfCharSet As Byte
lfOutPrecision As Byte
lfClipPrecision As Byte
lfQuality As Byte
lfPitchAndFamily As Byte
lfFaceName(LF_FACESIZE) As Byte
End Type
'In form
Private Sub Form_Load()
'KPD-Team 1998
'URL: http://www.allapi.net/
'E-Mail:

Dim RotateMe As LOGFONT
'Set graphic-mode to 'persistent graphic'
Me.AutoRedraw = True
'Rotate degrees
Deg = 270
'Size (in points)
Size = 20
'Set the rotation degree
RotateMe.lfEscapement = Deg * 10
'Set the height of the font
RotateMe.lfHeight = (Size * -20) / Screen.TwipsPerPixelY
'Create the font
rFont = CreateFontIndirect(RotateMe)
'Select the font n the Form's device context
Curent = SelectObject(Me.hdc, rFont)
'Print some text ...
Me.CurrentX = 500
Me.CurrentY = 200
Me.Print ":-)"
End Sub



--
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/



GRANGOUROU a écrit :

Je voudrais savoir comment envoyer à l'imprimante un texte avec une
rotation de 90° ou autre, l'article 461609 traite de ce sujet mais ne
fonctionne pas sous VB 6.

Sinon ou puis-je trouver une liste des fonction API du GDI?


Avatar
Zoury
Salut!

Je voudrais savoir comment envoyer à l'imprimante
un texte avec une rotation de 90° ou autre,



regarde le dernier exemple de cette page, nommé Coordinate Spaces and
Transformations.
http://www.mvps.org/EDais/Files/Demo/index.html
traduit de l'article suivant :
http://msdn.microsoft.com/library/en-us/gdi/cordspac_0inn.asp


l'article 461609 traite de ce sujet mais ne fonctionne
pas sous VB 6.



je ne le trouve pas .. tu as le lien ?



Sinon ou puis-je trouver une liste des fonction API du GDI?


http://msdn.microsoft.com/library/en-us/dnanchor/html/gdi.asp

et pour des exemples sur GDI en VB (c'est le meilleur site que j'ai vu):
http://www.mvps.org/EDais/

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Avatar
GRANGOUROU
> >l'article 461609 traite de ce sujet mais ne fonctionne
> pas sous VB 6.

je ne le trouve pas .. tu as le lien ?



http://support.microsoft.com/default.aspx?scid=kb;fr;461609
Avatar
GRANGOUROU
Encore un petit ou Gros probleme...

en fait, mon but ultime est de reussir a imprimer un text incliné

j'ai reussi a le faire afficher a l'ecran mais lorsque que je l'envoie a l'imprimante ca ne fonctionne pas (le texte s'imprime mais pas incliné)

Solutions ???
Avatar
Zoury
Comment t'y es-tu pris ?

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Avatar
Zoury
Il semble qu'il faut employer l'API TextOut au lieu de Printer.Print lorsque
tu veux écrire le texte utilisant le font sélectionner..

essai cet exemple.. il fonctionne ici :
http://support.microsoft.com:80/support/kb/articles/Q175/5/35.ASP&NoWebContent=1&NoWebContent=1

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Avatar
Zoury
> que signifie l'attribut lfFaceName pour le type LOGFONT???



regarde la fiche d'aide pour structure LOGFONT, tu as la description des
paramètres.
http://msdn.microsoft.com/library/en-us/dv_wcemfc4/html/aflrflogfont.asp

pour ma part, je n'étais pas certain de la différence entre entre lfFaceName
et lfCharSet... ;O)

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/