Witam,
Skorzystałem z przykładu Petzolda odnośnie drukowania .
Przygotowałem funkcje WyslijDoDrukarki(hdcPrn, xPage, yPage) , która rysuje różne elementy : linie, pola , tekst itd. po kontekście drukarki.
Jest tego dużo - na dwie albo i więcej stron.
Funkcja jest wywoływana z PrintMyPage (HWND hwnd)
Niestety drukuje tylko pierwszą stronę.
BOOL PrintMyPage (HWND hwnd)
{
static DOCINFO di = { sizeof (DOCINFO), TEXT ("Print1: Printing") } ;
BOOL bSuccess = TRUE ;
HDC hdcPrn ;
int xPage, yPage ;
if (NULL == (hdcPrn = GetPrinterDC ()))
return FALSE ;
xPage = GetDeviceCaps (hdcPrn, HORZRES) ;
yPage = GetDeviceCaps (hdcPrn, VERTRES) ;
if (StartDoc (hdcPrn, &di) > 0)
{
if (StartPage (hdcPrn) > 0)
{
WyslijDoDrukarki (hdcPrn, xPage, yPage) ;
if (EndPage (hdcPrn) > 0)
EndDoc (hdcPrn) ;
else
bSuccess = FALSE ;
}
}
else
bSuccess = FALSE ;
DeleteDC (hdcPrn) ;
return bSuccess ;
}
Jak zmusić, by funkcja BOOL PrintMyPage (HWND hwnd) wydrukowała wszystko , co jest naniesione do kontekstu drukarki, a nie tylko pierwszą stronę?