J'ai un programme en VB6 qui édite une facture, cette facture sort sur
du pré-imprimé, le problème est que lorsque je change d'imprimante, le
cadrage ne fonctionne plus, en fait c'est un véritable bazar dès que
j'édite sur une autre imprimante.
J'utilise dans mon programme une police courrier new ce qui me permet
d'avoir le même espacement pour chaque caractère.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pascal B.
Bonjour Jean-Michel,
Le problème pour le cadrage, c'est que toutes les imprimantes ne débutent pas leur impression au même endroit sur la page.
Il est possible de connaitre les marges de la page pour l'imprimante et ensuite adapter ses impressions en fonction des valeurs.
'Déclarations Const PhysicalOffsetX = 112 Const PhysicalOffsetY = 113 Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
'Marges en mm LeftMargin = Printer.ScaleX(GetDeviceCaps(Printer.hdc, PhysicalOffsetX), vbPixels, vbMillimeters) TopMargin= Printer.ScaleY(GetDeviceCaps(Printer.hdc, PhysicalOffsetY), vbPixels, vbMillimeters)
Pascal
"Jean-Michel" wrote in message news: | Bonjour, | | J'ai un programme en VB6 qui édite une facture, cette facture sort sur | du pré-imprimé, le problème est que lorsque je change d'imprimante, le | cadrage ne fonctionne plus, en fait c'est un véritable bazar dès que | j'édite sur une autre imprimante. | | J'utilise dans mon programme une police courrier new ce qui me permet | d'avoir le même espacement pour chaque caractère. | | Merci de votre aide, | | Jean-Michel
Bonjour Jean-Michel,
Le problème pour le cadrage, c'est que toutes les imprimantes ne débutent pas leur impression au même endroit sur la page.
Il est possible de connaitre les marges de la page pour l'imprimante
et ensuite adapter ses impressions en fonction des valeurs.
'Déclarations
Const PhysicalOffsetX = 112
Const PhysicalOffsetY = 113
Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
'Marges en mm
LeftMargin = Printer.ScaleX(GetDeviceCaps(Printer.hdc, PhysicalOffsetX), vbPixels, vbMillimeters)
TopMargin= Printer.ScaleY(GetDeviceCaps(Printer.hdc, PhysicalOffsetY), vbPixels, vbMillimeters)
Pascal
"Jean-Michel" <jean-michel.grandclement@wanadoo.fr> wrote in message news:1c395ac4.0405140433.73817781@posting.google.com...
| Bonjour,
|
| J'ai un programme en VB6 qui édite une facture, cette facture sort sur
| du pré-imprimé, le problème est que lorsque je change d'imprimante, le
| cadrage ne fonctionne plus, en fait c'est un véritable bazar dès que
| j'édite sur une autre imprimante.
|
| J'utilise dans mon programme une police courrier new ce qui me permet
| d'avoir le même espacement pour chaque caractère.
|
| Merci de votre aide,
|
| Jean-Michel
Le problème pour le cadrage, c'est que toutes les imprimantes ne débutent pas leur impression au même endroit sur la page.
Il est possible de connaitre les marges de la page pour l'imprimante et ensuite adapter ses impressions en fonction des valeurs.
'Déclarations Const PhysicalOffsetX = 112 Const PhysicalOffsetY = 113 Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
'Marges en mm LeftMargin = Printer.ScaleX(GetDeviceCaps(Printer.hdc, PhysicalOffsetX), vbPixels, vbMillimeters) TopMargin= Printer.ScaleY(GetDeviceCaps(Printer.hdc, PhysicalOffsetY), vbPixels, vbMillimeters)
Pascal
"Jean-Michel" wrote in message news: | Bonjour, | | J'ai un programme en VB6 qui édite une facture, cette facture sort sur | du pré-imprimé, le problème est que lorsque je change d'imprimante, le | cadrage ne fonctionne plus, en fait c'est un véritable bazar dès que | j'édite sur une autre imprimante. | | J'utilise dans mon programme une police courrier new ce qui me permet | d'avoir le même espacement pour chaque caractère. | | Merci de votre aide, | | Jean-Michel