OVH Cloud OVH Cloud

comment encadrer un texte a l'impression

2 réponses
Avatar
dav
est il possible avec printer.print d'encadrer du texte a l'impression ?
dans l'aide il est question de step et de line mais pas d'exemple et je
rame depuis 2 heures....
merci,
dav

2 réponses

Avatar
François Picalausa
Hello,

Tu pourrais stoquer les currentX, currentY avant Print. Ensuite, pour tracer
le cadre, la longueur est la largeur seraient données par les fonctions
TextHeight et TextWidth de l'objet printer.

Exemple non testé:

Const BorderX = 2
Const BorderY = 2
Const Text = "Texte A Imprimer"

Dim RectX As Single, RectY As Single

RectX = Printer.CurrentX
RectY = Printer.CurrentY

Printer.CurrentX = Printer.CurrentX + BorderX
Printer.CurrentY = Printer.CurrentY + BorderY
Printer.Print Text

Printer.Line (RectX, RectY)-(RectX + 2 * BorderX + Printer.TextWidth(Text),
RectY + 2 * BorderY + Printer.TextHeight(Text)), 0, B

--
François Picalausa

"dav" a écrit dans le message de news:
41a0c78a$0$9095$
est il possible avec printer.print d'encadrer du texte a l'impression
? dans l'aide il est question de step et de line mais pas d'exemple
et je rame depuis 2 heures....
merci,
dav


Avatar
ng
Salut,

Il suffit de dessiner comme si c'était un picturebox ou une form :

Private Sub Form_Load()
Call FramedText(Printer, "salut", 0)
Call FramedText(Printer, "Autre test", vbBlue)
Call Printer.EndDoc
End Sub

Public Sub FramedText(oObject As Object, strText As String, lFrameColor As
Long)
Dim lX As Long, lY As Long

lX = oObject.CurrentX: lY = oObject.CurrentY
oObject.Line (lX, lY)-(lX + oObject.TextWidth(strText), lY +
oObject.TextHeight(strText)), lFrameColor, B
oObject.CurrentX = lX: oObject.CurrentY = lY
oObject.Print strText

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/

dav wrote:
est il possible avec printer.print d'encadrer du texte a l'impression
? dans l'aide il est question de step et de line mais pas d'exemple
et je rame depuis 2 heures....
merci,
dav