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

MFC Discussion :

[MFC] Problème impression avec les MFC


Sujet :

MFC

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 79
    Par défaut [MFC] Problème impression avec les MFC
    Bonjour,
    Je me trouve actuellement devant un problème d'impression.
    Il semblerait que j'ai isolé plus ou moins la cause.

    Apparemment, il y aurait un petit conflit entre ma méthode d'affichage à l'écran et la méthode d'impression.

    La méthode OnDraw() est appellé dans les deux cas seulement il semblerait que lorsque je lance l'impression, la méthode ondraw() est quand même appelé pour l'affichage de la fenêtre.
    PLus simplement, dans la méthode OnDraw() de l'impression, lors de l'utilisation de la fonction pDc->TextOut(), la méthode OnDraw() est rappellé avec le device context de l'affichage.
    J'ai l'impression que le textout gère la boucle de message.

    Serait il possible de désactivé le raffraichissement de l'écran durant l'impression? et si oui comment?

    Merci pour vos réponse.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut ,
    et ça donne quoi comme conflit ?
    que onDraw soit appelé est normal, OnPrint Appel OnDraw.
    http://c.developpez.com/faq/vc/?page...HowToPrintView
    tu peux détecter le cas (écran ou impression ) en testant pDC->IsPrinting().
    mais honnêtement je ne vois pas trop pourquoi tu as un problème ..

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 79
    Par défaut
    LEs variables utilisées par la méthode OnDraw() sont des variables globales.
    Or apparemment la fonction Textout() gère les messages, par conséquent lors de l'entrée dans la fonction OnDraw() de l'imprimante, la méthode textOut va traiter les messages dont celui du raffraichissement de la fenêtre et par conséquent rappellé la fonction Ondraw de l'écran modifiant ainsi les variables globales de l'impression.

    Pour éviter cela, j'ai simplement mis un flag pour éviter la réentrance de la fonction OnDraw() et ca semble marcher.

    Merci pour la réponse

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

Discussions similaires

  1. Problème d'impression avec les cases à cocher
    Par madseb dans le forum Access
    Réponses: 7
    Dernier message: 17/09/2022, 18h20
  2. Problème avec les MFC de windows
    Par tiagocerqueira dans le forum MFC
    Réponses: 3
    Dernier message: 02/02/2010, 11h30
  3. Programmation avec les MFC
    Par ksoft dans le forum MFC
    Réponses: 3
    Dernier message: 04/05/2006, 21h50
  4. Origine de Visual C++ - lien avec les MFC
    Par drinkmilk dans le forum MFC
    Réponses: 5
    Dernier message: 18/04/2005, 10h47
  5. Charger et afficher une image jpg avec les mfc
    Par glop - pas glop dans le forum MFC
    Réponses: 3
    Dernier message: 11/02/2004, 18h59

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