protozorus
Messages postés38Date d'inscriptionmardi 13 décembre 2005StatutMembreDernière intervention 1 novembre 2007
-
9 févr. 2006 à 10:56
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
9 févr. 2006 à 15:08
Bonjour à tous,
Je suis novice en developpement et je souhaiterais une explication simple ou un exemple simple pour imprimer un formulaire avec l'objet printer.mon formulaire est composé de nombreuses frames, label et textbox, imagebox...
pourriez-vous m'expliquer le cheminement à suivre afin de programmer l'impression de mon formulaire avc l'objet printer.C'est un projet ke je dois présenter! merci de bien vouloir m'aider
protozorus
Messages postés38Date d'inscriptionmardi 13 décembre 2005StatutMembreDernière intervention 1 novembre 2007 9 févr. 2006 à 11:23
re ,
merci de m'avoir repondu, j'avance tout doucement mais j'avance!
En effet le developpe en vb6.
Ma form contient de nombreuses frames image list.
Si je comprends bien pour chacun des controles de ma feuille, je dois definir leur place;
Mes frames sont composées de plusieurs listbox, pour que l'impression soit correcte, je dois definir l'emplacement de la frame puis ensuite l'emplacement des listes dans cette frames?
Une fois la position des controles effectuer l'instructuion "print.enddoc" suffit-elle a imprimer mon formulaire?
j'essai juste de comprendre la demarche a suivre pour pouvoir imprimer mon formulaire.
merci de m'aider!
protozorus
Messages postés38Date d'inscriptionmardi 13 décembre 2005StatutMembreDernière intervention 1 novembre 2007 9 févr. 2006 à 14:11
salut,
encore une kestion:
est-il necessaire de copier les controles frame qui contiennent des list ou copier directement les list ?
une parti de code correspond a cela:
For Each controle In frmapercu.Controls
If TypeOf controle Is Frame Then
Let Printer.CurrentX = controle.Left
Let Printer.CurrentY = controle.Top
Printer.Print controle.Frame
End If
If TypeOf controle Is ListBox Then
Let Printer.CurrentX = controle.Left
Let Printer.CurrentY = controle.Top
Printer.Print controle.List
End If
If TypeOf controle Is Label Then
Let Printer.CurrentX = controle.Left
Let Printer.CurrentY = controle.Top
Printer.Print controle.Caption
End If
If TypeOf controle Is Image Then
Let Printer.CurrentX = controle.Left
Let Printer.CurrentY = controle.Top
Printer.Print controle.Picture
End If
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 9 févr. 2006 à 14:16
Oula, tu mélange un peu tout là :
Tout les éléments ne peuvent pas être directement imprimés, par exemple, les listes, ou les images, ca donnerai plutôt :
For Each controle In frmapercu.Controls If TypeOf controle Is Frame Then
Let Printer.CurrentX = controle.Left
Let Printer.CurrentY = controle.Top
Printer.Print controle.Frame
End If
If TypeOf controle Is ListBox Then
Let Printer.CurrentX = controle.Left
Let Printer.CurrentY = controle.Top
for i = 0 to control.listcount - 1
printer.currentx = controle.left
printer.print(control.list(i)
next i
End If
If TypeOf controle Is Label Then
Let Printer.CurrentX = controle.Left
Let Printer.CurrentY = controle.Top
Printer.Print controle.Caption
End If
If TypeOf controle Is Image Then
Let Printer.CurrentX = controle.Left
Let Printer.CurrentY = controle.Top
Printer.PaintPicture controle.left, controle.top
End If
next
protozorus
Messages postés38Date d'inscriptionmardi 13 décembre 2005StatutMembreDernière intervention 1 novembre 2007 9 févr. 2006 à 14:22
lol,
oula je commence a comprendre, la manipulation est loin d'etre evidente je vais tester de mon coté trankilement!
Je refrai sans doute apel a ton savoir!
Merci bien
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013129 9 févr. 2006 à 14:40
Oui, comme je l'ai dit : l'impression n'a jamais été simple en VB6 !
Malheureusement, il n'existe pas de fonction "standard" pour imprimer
un contrôle, il faut faire le code soit-même. Du coup, pour chaque
contrôle, ca change : tu n'imprime pas un listbox comme un listview à
plusieurs colonne par exemple...