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 :

Imprimer plusieurs CWnd dans un CDC


Sujet :

MFC

Vue hybride

specialka Imprimer plusieurs CWnd dans... 27/05/2008, 15h01
farscape salut, ça ne fonctionne pas... 27/05/2008, 15h06
specialka Merci Farscape, pour ta... 27/05/2008, 15h10
specialka Alors, je reviens :... 27/05/2008, 15h14
farscape je viens de relire ton post... 28/05/2008, 08h38
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Par défaut Imprimer plusieurs CWnd dans un CDC
    Bonjour à tous,

    je vous pose mon problème, je développe une application sous visual c++ 6.0.
    Et je voudrais imprimer plusieurs CWnd sur une seule page, à l'aide d'un CDC, mais je n'y arrive pas.

    Pour le moment mon code ressemble à ça :

    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
    17
    18
    19
    20
     
     
    CDC *pDC=CDC::FromHandle(pd.GetPrinterDC());
     
    DOCINFO docinfo;
    memset(&docinfo, 0, sizeof(docinfo));
    docinfo.cbSize = sizeof(docinfo);
    docinfo.lpszDocName = _T("nom_du_fichier");
    pDC->StartDoc(&docinfo);
    pDC->StartPage();
     
    CWnd*pWnd0=(CWnd*)GetDlgItem(IDC_W0);
    CWnd*pWnd1=(CWnd*)GetDlgItem(IDC_W1);
     
    pWnd0->Print(pDC,0);
    pWnd1->Print(pDC,0);
     
     
    pDC->EndPage();
    pDC->EndDoc();
    j'ai essayé quelques modifications mais toujours rien, cela m'imprime les deux dessins l'un sur l'autre.

    Mon but, pouvoir les imprimer sur la page à des endroits différents.

    Merci d'avance pour votre aide ...

  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,
    ça ne fonctionne pas comme ça ...
    récupère les zones de texte associée a chaque contrôle et imprime les dans le dc d'impression.
    dans un post j'ai indiqué un exemple ou j'imprime un fichier .txt dans un dc ,
    tu peux t'inspirer de la méthode...
    http://www.developpez.net/forums/sho...74&postcount=3

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Par défaut
    Merci Farscape, pour ta rapidité. Je vais voir ça de suite.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Par défaut
    Alors, je reviens : Apparemment ton exemple est fait pour du texte, malheureusement, je veux imprimer sur la page, des dessins récuperés grâce au GetDlgItem.

  5. #5
    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
    je viens de relire ton post je pensais qu'il y avait du texte dans les contrôles ...,
    pour le problème de coordonnées:
    je créerai un dc en mémoire associé a un bitmap correspondant à la taille d'un contrôle .(GetClientRect)
    je laisserai le contrôle se dessiner dans ce dc en mémoire.
    au final j'ai un bitmap que je peux projeter à un endroit spécifique avec BitBlt.

    la séquence ressemble a ce que tu peux trouver dans ce post de la faq:
    http://cpp.developpez.com/faq/vc/?pa...TreeCtrlCustom
    ou plutôt ce post pour l'impression d'une fenêtre:
    http://cpp.developpez.com/faq/vc/?pa...PrintDialgoBox
    notamment par rapport au conseil sur l'impression d'un DIB ...

  6. #6
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    ou alors peut-etre essayer de décaler l'origine du dessin.

    specialka dit que son code fonctionne, sauf que les deux controles se dessinent l'un sur l'autre

    je rajouterai entre les deux fonctions Print() un SetViewportOrg() pour déplacer l'origine (0,0)

    du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    pWnd0->Print(pDC,0);
    pDC->OffsetViewportOrg(0,100);  // 100 pixels en dessous
    pWnd1->Print(pDC,0);
    c'est une idée ... pas sûr que ça fonctionne

    @+

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

Discussions similaires

  1. [WD15] Imprimer plusieurs graphes dans un seul état
    Par tatam dans le forum WinDev
    Réponses: 1
    Dernier message: 10/05/2010, 09h24
  2. Imprimer plusieurs pages dans un seul document
    Par mofx71 dans le forum Documents
    Réponses: 0
    Dernier message: 08/12/2008, 21h49
  3. Imprimer plusieurs factures dans un même état
    Par leila_bouchama dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 03/12/2007, 11h14
  4. Plusieurs animations dans un fichier .X
    Par heidi79 dans le forum DirectX
    Réponses: 6
    Dernier message: 25/08/2003, 02h26
  5. Réponses: 23
    Dernier message: 16/11/2002, 19h41

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