Module d'impression form, texte, image

Soyez le premier à donner votre avis sur cette source.

Snippet vu 18 406 fois - Téléchargée 27 fois

Contenu du snippet

Slt je suis a fond dans l'impression lol, en fait c un petit module pour les newbees qui se demande comment imprimer du texte, une image, ou une form

Pour le texte avec la fonction imprimeTxt rien de bien fantastique mise a part qu'il faut pas a chaque fois se taper plusieurs lignes pour le placement (currentX,Y) ou pour les autres options!! ici tous en une ligne.

Pour les images la function imprime image à l'avantage d'imprimer directement l'image sans passez par un picturebox (Objet StdForm)

Pour la form!! la fonction ImprimeForm a l'avantage par rapport au PrintForm de pouvoir positioner la form a un endoirt precis et de choisir la hauteur et largeur de sortie!!!

ModeImpression c'est idem que Printer.scalemode=xxxxx
LanceImpression c'est simplement printer.endDoc

Source / Exemple :


'Dans un module
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Const VK_SNAPSHOT As Byte = &H2C
Enum Enum_Param
Milimétres = 0
Centimétres
End Enum

Public Function ImprimeTXT(Texte As String, AxeX As Integer, AxeY As Integer, Optional Couleur As ColorConstants, Optional Police As String = "Arial", Optional Taille As Integer = 12, Optional Gras As Boolean = False, Optional Italique As Boolean = False)
Printer.CurrentX = AxeX
Printer.CurrentY = AxeY
Printer.Font = Police
Printer.FontSize = Taille
Printer.FontBold = Gras
Printer.FontItalic = Italique
Printer.ForeColor = Couleur
Printer.Print Texte
End Function

Public Sub LanceImpression()
Printer.EndDoc
End Sub

Public Function ImprimeImage(Source As String, AxeX As Integer, AxeY As Integer, Largeur As Integer, Hauteur As Integer)
Dim Im As StdPicture
Set Im = LoadPicture(Source)
Printer.PaintPicture Im, AxeX, AxeY, Largeur, Hauteur
End Function

Function ModeImpression(Value As Enum_Param)
If Value = 0 Then Mode% = vbMillimeters Else Mode% = vbCentimeters
Printer.ScaleMode = Mode%
End Function

Function ImprimeForm(Feuille As Form, AxeX As Integer, AxeY As Integer, Largeur As Integer, Hauteur As Integer)
Dim Im As StdPicture
Call keybd_event(VK_SNAPSHOT, 1&, 0&, 0&)
DoEvents
Set Im = Clipboard.GetData
Printer.PaintPicture Im, AxeX, AxeY, Largeur, Hauteur
End Function

'-------------------------------------------------------------------------------------
'UTILISATION DES FONCTIONS DANS UNE FORM

'determine les position en mm (Scalemode)
ModeImpression Milimétres

'Impression de texte
'imprimetxt [Texte,AxeX,AxeY,couleur,police,taille,gras,italique]
'Texte : le texte a imprimer
'AxeX : coordonée a partir de la gauche de la feuille
'AxeY : Coordonée a partir de la droite de la feuille
'-[optionnel]-
'couleur :couleur d'impression
'police : police d 'impression
'Taille: taille d'impression (size)
'Gras : gras(bold)
'Italique : Italique

ImprimeTXT "Times news roman 10,10 taille 16 gras italique", 10, 10, , "times", "16", True, True
ImprimeTXT "Times news roman 10,20 taille 12", 10, 20, , "arial", "12"
LanceImpression

'IMPRESSION IMAGE
'ImprimeImage [Source, AxeX, AxeY, Largeur, Hauteur]
'Source : Chemin de l'image
'AxeX : coordonée a partir de la gauche de la feuille
'AxeY : Coordonée a partir de la droite de la feuille
'Largeur : largeur d'impression de l'image
'Hauteur : Hauteur d'impression de l'image
ImprimeImage "c:\\image.jpg", 10, 10, 100, 120
LanceImpression

'IMPRESSION D'UNE FORM
'ImprimeForm Feuille, AxeX, AxeY, Largeur, Hauteur
'Feuille : La form a imprimer
'AxeX : coordonée a partir de la gauche de la feuille d'imprimante
'AxeY : Coordonée a partir de la droite de la feuille d'imprimante
'Largeur : largeur d'impression de la form
'Hauteur : Hauteur d'impression de la form
ImprimeForm Form1, 0, 0, 200, 280
LanceImpression

Conclusion :


Ps: cette source n'est pas destiné au initié de vb, simplement au debutant qui veulent se familiariser avec l'impression en vb, ou trouver une solution simple pour l'impression!!!!

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
21 janvier 2008

je veut un code de l'impression d'un form , fuielle qu'est simple et qui donne un resultat rapide
Messages postés
2
Date d'inscription
dimanche 21 mai 2006
Statut
Membre
Dernière intervention
5 mai 2007

Et bien moi.. Je dis merci ! ça m'a bien servi ! :p
Messages postés
79
Date d'inscription
dimanche 15 octobre 2000
Statut
Membre
Dernière intervention
24 septembre 2007

salut a tous
chez moi j'ai bien le fichier sur c:\test.jpg
et quand je lance le prog il imprime une page blanche

si tu a une soluce

merci
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018

humm en Vb.Net sa donne quoi? non car loadpicture n'existe plus, et StdPicture non plus aparrament ..
Messages postés
31
Date d'inscription
mardi 10 janvier 2006
Statut
Membre
Dernière intervention
14 avril 2007

ca marche pas ton truc ma form ne veut ni ce mettre dans un .txt ni s imprimer il me fait juste des .mdi où y a rien marqué dessus alors que quand je faisais avec PrintForm dans le .mdi il y avait ma form dessus mais ma form est trop grande pour tenir sur la page .mdi
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.