Seite 1 von 1

Inhalt eines WebGadgets drucken

Verfasst: 14.01.2013 10:56
von jear
Mit nachfolgendem Code drucke ich den Inhalt eines WebGadgets aus.
Klappt prima, auch eingebettete Graphiken werden gedruckt.

Die Routine soll beim ersten Druck nach dem zu verwendenden Drucker fragen.
Im Fenster für die Druckerauswahl kann ich den Druck dann auch abbrechen.

Das aber bekommt meine Routine nicht mit, denn es kommt auch dann ein #S_OK zurück.
Wie kann ich feststellen, dass der Druck abgebrochen worden ist bzw. welcher Drucker gewählt wurde?

Code: Alles auswählen

;/ Inhalt Webgadget drucken
#OLECMDID_PRINT = 6 
#OLECMDEXECOPT_DODEFAULT       = 0
#OLECMDEXECOPT_PROMPTUSER      = 1
#OLECMDEXECOPT_DONTPROMPTUSER  = 2
#OLECMDEXECOPT_SHOWHELP        = 3

Procedure.i Drucken(WGadget.i, Datei.s, Logfile.i=#Null)
  Static.i mode = -1
  Protected.i ok, IsBusy
  Protected WebObject.IWebBrowser2 = GetWindowLong_(GadgetID(WGadget), #GWL_USERDATA)   
  
  If mode = -1
    If StringField(prtsettings, 1, #tr) = "1" : mode = #OLECMDEXECOPT_PROMPTUSER : Else : mode = #OLECMDEXECOPT_DONTPROMPTUSER: EndIf
  EndIf
  
  Repeat 
    WebObject\get_Busy(@IsBusy) 
    Delay(10) : While WindowEvent(): Wend 
  Until IsBusy = 0  
  
  ok = WebObject\ExecWB(#OLECMDID_PRINT, mode, 0, 0)
  
  If ok = #S_OK
    MText = " Gedruckt : " + Datei
    mode = #OLECMDEXECOPT_DONTPROMPTUSER : ProcedureReturn #True
  Else
    MText = " Fehler '" + Str(ok) + "' beim Drucken von : " + Datei
    mode = -1 : ProcedureReturn #False 
  EndIf   
  
  If IsFile(Logfile) : WriteStringN(Logfile, MText) : EndIf ;/ Logfile schreiben
  Meldung(MText)
  
  Delay(50)
 
EndProcedure

Re: Inhalt eines WebGadgets drucken

Verfasst: 22.01.2013 00:50
von jear
Bin etwas perplex. 57 mal gelesen, auch nach einer Woche keine Antwort!

Niemand eine Idee? :shock:

Re: Inhalt eines WebGadgets drucken

Verfasst: 22.01.2013 14:03
von bobobo
hmm ..
#S_Ok kommt ja auch sofort, wogegen die eigentliche Druckfunktion
ja noch irgendwo rumrödelt.
Da fehlt wohl ein Callback oder sowas.

Re: Inhalt eines WebGadgets drucken

Verfasst: 22.01.2013 18:52
von Kukulkan
Evtl. hilft dir dieser Ansatz?

http://www.purebasic.fr/english/viewtop ... 15&t=48664

Aber nur, wenn Du den Content selbst reingestellt hast (also eigenes HTML).

Kukulkan