1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| CDC dc;
CPrintDialog printDlg(FALSE);
// selection de l'imprimante.
if (printDlg.DoModal() == IDCANCEL) return;
DEVMODE FAR *pDevMode=(DEVMODE FAR *)::GlobalLock(printDlg.GetDevMode());
// set orientation to landscape
pDevMode->dmOrientation=DMORIENT_LANDSCAPE;
::GlobalUnlock(printDlg.GetDevMode());
HDC hdc =printDlg.CreatePrinterDC();
//dc.Attach(printDlg.GetPrinterDC()); sinon le mode paysage ne fonctionne pas
dc.Attach(hdc);
dc.m_bPrinting = TRUE; // dc d'impression.
CPrintInfo pInfo;
dc.StartDoc("Custom"); // begin a new print job
dc.StartPage(); // begin a new page
pInfo.SetMaxPage(1);
CHeaderCtrl* pTheHeaderCtrl = m_Liste.GetHeaderCtrl();
pTheHeaderCtrl->PrintClient(&dc, PRF_CHECKVISIBLE | PRF_CHILDREN | PRF_CLIENT |PRF_OWNED);
m_Liste.PrintClient(&dc, PRF_CHECKVISIBLE | PRF_CHILDREN | PRF_CLIENT |PRF_OWNED);
dc.EndPage(); // end a page
dc.Detach(); // detach the printer DC |
Partager