IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Comment imprimer le contenu d'un PictureBox ?


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 27
    Points
    27
    Par défaut Comment imprimer le contenu d'un PictureBox ?
    Bonjour les amis,

    Comment imprimer le contenu d'un PictureBox ?
    Sachant que le picturebox contient plusieurs shape, label, Line, etc
    et la taille du picturebox et supérieur à la taille du form

    merci

  2. #2
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Bonsoir,

    La méthode pour imprimer une image
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Printer.paintpicture Picturebix.picture,x,y '...
    Maintenant s'il s'agit d'imprimer également les controls enfant du picturebox
    il faut auparavant effectuer un traitement permettant de copier le graphisme des controls

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
     
    Private Const PRF_CLIENT    As Long = &H4&
    Private Const PRF_CHILDREN  As Long = &H10&
    Private Const PRF_OWNED     As Long = &H20&
    Private Const WM_PAINT      As Long = &HF
    Private Const WM_PRINT      As Long = &H317
     
    '...
        With Me.Picture1
            Call SendMessage(.hWnd, WM_PAINT, .hDC, 0)
            Call SendMessage(.hWnd, WM_PRINT, .hDC, PRF_ALL)
     
            Printer.PaintPicture .Image, 0, 0
            Printer.EndDoc
        End With

  3. #3
    Nouveau membre du Club
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 27
    Points
    27
    Par défaut
    Bonjour, Dsl pour le retard

    merci DarkVader pour votre aide, j'ai pris votre exemple, l'imprimante me donne une feuile blanche, que puis-je faire ?

    et merci encore

  4. #4
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Mettre de l'encre dans l'imprimante ...

    et vérifier que Picture1.AutoRedraw=true



    PS en relisant, j'ai omis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PRF_ALL = PRF_CLIENT Or PRF_CHILDREN Or PRF_OWNED
    mais tu as du le remarquer si tu utilises Option Explicit

  5. #5
    Nouveau membre du Club
    Inscrit en
    Septembre 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 32
    Points : 27
    Points
    27
    Par défaut
    Bonjour,

    je vous remercie DarkVader pour votre aide,
    ça va bien marcher mais comment faire pour mettre l'orientation de ma feuille en paysage ? et si la longueur de ma picturebox soit imprimé en deux pages es ce que l'imprimante me donne la premiere page seulement ?

    Merci encore Mr.

    (Dsl pour le mal expression)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment Imprimer le contenu d'une DataGridView?
    Par Abdelkabir dans le forum VB.NET
    Réponses: 2
    Dernier message: 08/03/2007, 18h06
  2. Comment imprimer le contenu de mon container
    Par JavaChouke dans le forum Langage
    Réponses: 1
    Dernier message: 22/11/2006, 12h36
  3. [c#] Comment imprimer le contenu dune listbox dans un fichier
    Par Clarissa2006 dans le forum Windows Forms
    Réponses: 14
    Dernier message: 24/06/2006, 18h21
  4. [Delphi 6] Comment imprimer le contenu d'un TStringGrid ?
    Par bobstar dans le forum Composants VCL
    Réponses: 6
    Dernier message: 22/09/2005, 18h43
  5. Comment imprimer le contenu d'un TStringGrid
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/06/2002, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo