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


|
Conversation (Résolue) : probleme de wxPrintout, impressions en "paysage" |
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)
|
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
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à ... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
|
|