Nochmal Problem mit Drucken
Verfasst: 10.07.2006 14:25
Hallo,
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
So kommt die Variable hWnd zustande. Wenn ich das aber in meinem Programm genauso mache, nämlich
kommen immer nur schwarze Seiten aus dem Drucker, also habe ich das mit dem hWnd.l vor OpenWindow weg gelassen. Wahrscheinlich liegt es daran, aber dann müßte in dem Code unten etwas verändert werden. Fragt sich nur, wie's gemacht wird.
PB42
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