28. juni 2002 - 10:36Der er
3 kommentarer og 1 løsning
Indstille margin når der printes
Kan man selv styre margins hvis man har en funktion der udskriver til printer? dvs. kodemæssigt indstille de margins man ellers kan sætte under file/page setup. Så vidt jeg har forstået kan man ikke gøre dette i vb, der kan man kun sætte en margin i forhold til den der i forvejen er i page setup. Derfor søger jeg svaret her under C++
Når man skal udskrive til en printer fra Windows (?) bruger man en device context (DC) ligesom til skærmen. DC'en indeholder nogle oplysninger om printerens udskriftsområde og oplysning. Det er disse oplysninger du skal bruge til at beregne hvor mange punkter du skal sætte margin til, for at sætte den i en bestemt bredde i cm.
Hvilket udviklingsmiljø bruger du og skal det fx være ren C++ eller..?
// Retrieve the number of pixels-per-logical-inch in the // horizontal and vertical directions for the display upon which // the bitmap was created. These are likely the same as for // the present display, so we use those values here.
// Retrieve the number of pixels-per-logical-inch in the // horizontal and vertical directions for the printer upon which // the bitmap will be printed.
// Use StretchDIBits to scale the bitmap and maintain // its original proportions (that is, if the bitmap was square // when it appeared in the application's client area, it should // also appear square on the page).
// Compute the starting point for the text-output operation. The // string will be centered horizontally and positioned three lines // down from the top of the page.
// Determine whether the user has pressed the Cancel button in the // AbortPrintJob dialog box; if the button has been pressed, call // the AbortDoc function. Otherwise, inform the spooler that the // page is complete.
nError = EndPage(pd.hDC);
if (nError <= 0) { errhandler("EndPage", hwnd); goto Error; }
// Inform the driver that document has ended.
nError = EndDoc(pd.hDC); if (nError <= 0) errhandler("EndDoc", hwnd);
det ser godt ud, jeg er ikke lige på arbejde så derfor tester jeg det først senere på ugen, men tak for hjælpen, du får selvfølgelig dine velfortjente points
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.