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

C++Builder Discussion :

TPaintBox


Sujet :

C++Builder

  1. #1
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 14
    Par défaut TPaintBox
    Dans mon application, je dessine sur le canevas d'une PaintBox.

    J'aimerai imprimer ensuite la form qui contient la PaintBox, mais quand j'essaie, de le faire (en utilisant la méthode print de la form) la PaintBox n'apparait pas.

    J'ai aussi essayé de faire un GetFormImage pour avoir une "photo" de ma form, mais là encore la PaintBox n'apparait pas.

    Comment faire pour imprimer la form avec la PaintBox et le dessin qu'elle contient??

    Merci...

  2. #2
    Membre Expert
    Avatar de Gilles Louïse
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par défaut
    C'est assez logique car le Canvas de la PaintBox ne se maintient visible que par l'exécution de sa méthode OnPaint, son contenu n'est donc pas, si vous voulez, fixe ou rémanent. Si, à la place du PaintBox, vous mettez un TImage, l'impression de l'image se fera bien avec l'imprimante. Muni de cette information, il est facile de contourner le problème d'une façon ou d'une autre.

    À bientôt
    Gilles

  3. #3
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 14
    Par défaut
    Merci pour ces informations.

    Le pb c'est que bcp de fonctions de mon application utilisent la paintbox...(l'impression n'était pas prévue au départ...)

    N'y a t il pas un moyen de "copier" le canevas de la paintbox pour le mettre dans un TImage (pendant l'évènement onpaint par exemple)?

    Merci

  4. #4
    Membre Expert
    Avatar de Gilles Louïse
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par défaut
    Ce que vous pourriez faire est créer dynamiquement un TImage, de recopier le Canvas du PaintBox dans celui du TImage et de superposer le TImage sur le Paintbox avant l'impression puis vous détruisez le TImage.

    À bientôt
    Gilles

  5. #5
    Membre averti
    Inscrit en
    Avril 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 14
    Par défaut
    Oui, c'est ce que je suis en train d'essayer de faire...

    Je pense que ça devrait marcher...

    Merci pour tout!

  6. #6
    Membre éprouvé
    Homme Profil pro
    VP of Research and Innovation
    Inscrit en
    Mai 2002
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Canada

    Informations professionnelles :
    Activité : VP of Research and Innovation

    Informations forums :
    Inscription : Mai 2002
    Messages : 84
    Par défaut
    On peut aussi utiliser le Canvas du TPrinter ...
    Un peu plus joli quand même

  7. #7
    Membre Expert
    Avatar de Gilles Louïse
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Par défaut
    Citation Envoyé par ChMerlier
    On peut aussi utiliser le Canvas du TPrinter ...
    Un peu plus joli quand même
    Ça a l'air plus joli effectivement mais pouvez-nous nous dire comment procéder?

    À bientôt
    Gilles

  8. #8
    Membre éprouvé
    Homme Profil pro
    VP of Research and Innovation
    Inscrit en
    Mai 2002
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Canada

    Informations professionnelles :
    Activité : VP of Research and Innovation

    Informations forums :
    Inscription : Mai 2002
    Messages : 84
    Par défaut
    Oui

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        TPrinter *APrinter;
     
            APrinter = Printer();
     
            APrinter->BeginDoc();
     
                APrinter->Canvas->StretchDraw(Rect(0, 0, ABitmap->Width, ABitmap->Height), ABitmap);
     
            APrinter->EndDoc();
    (Ceci est un copier/coller d'un de mes programmes pour imprimer un bitmap)

    Le canvas du TPrinter posséde les mêmes fonctions de dessin qu'un Canvas Image ou Fiche.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/03/2007, 11h36
  2. [TPaintBox] Problème de perte du contenu
    Par Tango dans le forum Composants VCL
    Réponses: 5
    Dernier message: 09/12/2005, 09h56
  3. TPaintBox ou TImage?
    Par Nicskull dans le forum C++Builder
    Réponses: 11
    Dernier message: 27/11/2005, 14h39
  4. Comment récuperer le handle d'un TPaintBox ?
    Par nicolos dans le forum C++Builder
    Réponses: 1
    Dernier message: 05/11/2004, 08h58
  5. imprimer le contenu d'une TPaintBox
    Par stimbo dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/03/2004, 19h42

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