wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 3

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» probleme de wxPrintout, impressions en "paysage"
Conversation (Résolue) : probleme de wxPrintout, impressions en "paysage"
26-05-2008 15:10:45  probleme de wxPrintout, impressions en "paysage" #1
zeneuneu (Nouveau membre)
Inscrit le : 18-05-2008
Messages: 3
Snippets: 0
Tutoriels: 0
Hors ligne
bonjour,


j'utilise un wxPrintout. je voudrais imprimer les infos d'un wxNoteboook.
Certains 'panels' doivent etre imprimés en paysage, d'autres en portrait.
A l'appel du dialoque d'impression  j'ai un truc du genre:

Code:

 
 
    switch (NoteBook->GetSelection() )
    {
        case 2 :    g_printData->SetOrientation(wxLANDSCAPE); break;
        default :   g_printData->SetOrientation(wxPORTRAIT); break;
    };
    wxPrintDialogData printDialogData( *g_printData);
 
    printDialogData.SetPrintData( *g_printData);
    switch (NoteBook->GetSelection() )
    {
        case 5 :   printDialogData.SetMaxPage(4);  break;
        case 6 :   printDialogData.SetMaxPage(1);  break;
        default :   printDialogData.SetMaxPage(2); break;
    };
 
    wxPrinter printer( & printDialogData);
    int ret;
//    g_printData->SetPaperId(wxPAPER_A4);    // for everyone else
    switch ( NoteBook->GetSelection() )
    {
        case 1 : ret = printer.Print(this, new m_Printout1( panel_1 ),    true);  break;
        case 2 : ret = printer.Print(this, new m_Printout2( panel_2),    true);  break;
        case 3 : ret = printer.Print(this, new m_Printout3( panel_3 ),  true);  break;
 
    }
 

C'est un peu lourd a cause du notebook.

mon probleme est que l'orientation n'est prise en compte que si je rentre dans le dialogue d'impression 2 fois. Si lance l'appli, l'orientation est toujours portrait la premiere fois dans le dialoque. Je sors du dialoque sans rien faire et j'y retourne, et là ô miracle, l'orientation est bonne.
En plus, quand j'imprime en Landscape, tout ce qui est superieur a 210 mm est masqué. J'arrive donc bien a imprimer en paysage, mais le DC garde les dimensions du A4 orienté portrait.

Quelqu'un peut-il m'éclairer pour resoudre mon probleme ?

probleme subsidiaire a 2 $: j'utilise une epson DX4050. Comment lui dire que je veux imprimer sans marge?

merci.

Dernière modification par zeneuneu (26-05-2008 15:11:34)

26-05-2008 22:54:08  Re: probleme de wxPrintout, impressions en "paysage" #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Je pense qu'il faut que tu fasses les modifications du wxPrintDialogData avant de l'utiliser avec la wxPrinter, pour que ces modifs soient prises en compte.

Pour l'impression sans marges, il faut (à mon avis) que tu utilises la zone totale du wxDC disponible dans le wxPrintout.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» probleme de wxPrintout, impressions en "paysage"