Impression element form

ralf19b3 Messages postés 77 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 5 janvier 2004 - 18 nov. 2003 à 13:53
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 - 18 nov. 2003 à 18:30
S@lut les programeur, je voudrer savoir s'y il y aurait un moyen de pouvoir impremer les element qui se trouve dans une form sans le contour et sans redimensionner les objet (c'est a dire garder les meme proportion) Si quelqu'un c comment faire ou connait une source sur VBfrance je suis preneur car la g chercher et il semble que aucune d'entre elle traitent ces deux sujet en mm temp=)!
Merci d'avance

1 réponse

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
18 nov. 2003 à 18:30
Merci pour les fautes c'est dur de comprendre.
Le prochain coup j'ecris en Morse ;-) Et tu comprendras une / 2 fautes ca va mais autant c'est pas pratique.

voila un debut de code
attention les controles doivent etre bien nommés.

Ce code marche pour la plupart des controles (sauf ceux a scrollbar je pense a tester ;-)

Public Sub print_form()
Call Me.init_Form
For Each ctrl In Me.Controls
Call print_control(printer, ctrl)
Next
printer.EndDoc
End Sub

Private Sub print_control(printer As printer, ByVal control As Object)
If (Left(control.Name, 4) = "Line") Then
printer.Line (control.X1, control.Y1)-(control.X2, control.Y2)
ElseIf (Left(control.Name, 5) = "Image") Then
'printer.Line (control.X1, control.Y1)-(control.X2, control.Y2)
Dim stdPict As New StdPicture
Set stdPict = LoadPicture(App.Path & "\veau2.jpg")
printer.PaintPicture stdPict, control.Left, control.Top, control.Width, control.Height
Else

Select Case control.Alignment
Case vbCenter

printer.CurrentX = control.Left + control.Width / 2 - printer.TextWidth(control.Caption) \ 2
Case vbLeftJustify
printer.CurrentX = control.Left
Case vbRightJustify
printer.CurrentX = control.Left + control.Width - printer.TextWidth(control.Caption)
End Select

printer.CurrentY = control.Top

printer.FontBold = control.Font.Bold
printer.Font.Name = control.Font.Name
printer.Font.Size = control.Font.Size
If (LCase(Left(control.Name, 2) "lb")) Or (Left(control.Name, 5) "Label") Then
printer.Print control.Caption
Else
MsgBox control.Name
End If
End If
End Sub
0
Rejoignez-nous