wenn ich bei meinem Programm den Druck-Vorgang starte, läuft der Druck beim ersten Anlauf einwandfrei, beim zweiten kommt nur eine schwarze Seite raus und beim dritten wieder der gewünschte Ausdruck usw.
Durch eine weitere Verzweigung (siehe Code) habe ich festgestellt, daß ich für jeden zweiten erfolgreichen Ausdruck zuvor immer erst zweimal den Button "Print" (ButtonGadget 13) klicken muß, bevor ich den eigentlichen Druck dann über "Drucken" am Standarddrucker starte. Woran mag das liegen?
Edit: Ich muß noch dazu schreiben, daß ich die Anleitung, wie man den Druckteil ins Programm schreibt, einfach aus PureArea.net rauskopiert habe. Dort steht
Code: Alles auswählen
hWnd.l = OpenWindow(0, 100, 120, #WindowWidth, #WindowHeight, #PB_Window_MinimizeGadget, "PureBasic - Gadget Demonstration")
Code: Alles auswählen
hWnd.l = OpenWindow(0,0,0,800,600,#PB_Window_SystemMenu|#PB_Window_ScreenCentered|#PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget,"Jahreskalender")
Code: Alles auswählen
Select eventID
Case #PB_Event_Gadget
If EventGadgetID() = 13;Print
ActivateGadget(9)
hBmp.l = CreateImage(0,2000,2000)
hdcWnd.l = GetDC_(hWnd)
hdcDesktop.l = GetDC_(hdcDesktop)
hdcBmp.l = CreateCompatibleDC_(hWnd)
SelectObject_(hdcBmp,hBmp)
StretchBlt_(hdcBmp,0,0,ImageWidth() ,ImageHeight() ,hdcDesktop,75,22,705,550,#SRCCOPY)
DefaultPrinter()
PrintRequester()
Zl = Zl+1
Zahl.f = Zl/2
If Zahl.f - Int(Zahl.f) = 0
Goto weiter
EndIf
StartPrinting("")
StartDrawing(PrinterOutput())
DrawImage(ImageID(),0,900,5000,5000)
StopDrawing()
StopPrinting()
weiter:
EndIf
EndSelect
PB42