[VB6] Imprimer une form en Paysage

Résolu
theocourant Messages postés 3 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 25 avril 2007 - 5 sept. 2005 à 13:17
theocourant Messages postés 3 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 25 avril 2007 - 6 sept. 2005 à 10:36
Bonjour tout le monde,


Voilà je rencontre un souci avec l'impression d'une form avec VB


Ma form, contenant une 50aine de contrôles + une image en arrière plan + une barre de menu, doit être imprimer grâce à un bouton "Imprimer".
Le code du bouton est le suivant:

Private Sub mnu_Print_Click()
On Error GoTo ErrHandler
CommonDialog1.CancelError = True
CommonDialog1.ShowPrinter
Me.PrintForm
Exit Sub
ErrHandler:
Exit Sub
End Sub

Elle est définie en paysage mais lors de l'impression avec PrintForm, elle est imprimer en Portrait d'où problème...


Mon CommonDialog est défini en Paysage également ainsi que génération d'erreur et PrinterDefault.


Merci d'avance


Théo

2 réponses

Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 9
5 sept. 2005 à 21:39
Salut theocourant,


Bon, alors faut définir le printer sur Landscape ... Je te proposes de
tester le code suivant pour voir comment ça fonctionne (il te faudra un
command dialog et un boutton):




Private Sub Command1_Click()

Dim BeginPage, EndPage, NumCopies, Orientation, i



CommonDialog1.CancelError = True

On Error GoTo ErrHandler



CommonDialog1.ShowPrinter



BeginPage = CommonDialog1.FromPage

EndPage = CommonDialog1.ToPage

NumCopies = CommonDialog1.Copies

Orientation = CommonDialog1.Orientation



For i = 1 To NumCopies

Printer.Orientation = cdlLandscape

Me.PrintForm

Next

Exit Sub

ErrHandler:



Exit Sub

End Sub



Tiens moi au courrant ,

++

Zlub
3
theocourant Messages postés 3 Date d'inscription jeudi 1 septembre 2005 Statut Membre Dernière intervention 25 avril 2007
6 sept. 2005 à 10:36
Salut Zlub,

En effet, ta solution fonctionne

Un chose qu'en même : la constante passée dans Printer.Orientation est vbPRORLandscape
Enfin, je pense qu'il s'agit d'une variation de la définition des constantes vb

Merci encore


Théo
0