Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   TWebbrowser, drucken weigert sich (https://www.delphipraxis.net/169165-twebbrowser-drucken-weigert-sich.html)

FrankJ28 3. Jul 2012 10:27

TWebbrowser, drucken weigert sich
 
Hallo Wissende,
ich lade eine Webseite in den TWebbrowser und drucker normalerweise wie folgt:

Delphi-Quellcode:
WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut);
Das klappt in anderen Applikationen sonst auch prima, nun aber weigert sich der Browser zu drucken, macht schlicht nichts. Die Seite ist fertig gerendert, steht eigentlich nichts im Weg. Nun bin ich ratlos. Hat jemand eine zündende Idee unter welchen Umständen TWebBrowser nicht drucken mag?

Danke und ciao
Frank

Ergänzung:
Das Konstrukt:
Delphi-Quellcode:
     WebBrowser1.ControlInterface.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_PROMPTUSER, vaIn, vaOut);
Webbrowser1.Refresh;
     WebBrowser1.ControlInterface.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_PROMPTUSER, vaIn, vaOut);
WebBrowser1.Refresh;
zaubert dann den Druckerdialog nach oben.

blondervolker 3. Jul 2012 11:16

AW: TWebbrowser, drucken weigert sich
 
Aber so geht's auch:

Delphi-Quellcode:
procedure TForm.OnClickPrint(Sender: TObject);
begin
  WebBrowser.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER); //Geht perfekt!
end;

FrankJ28 3. Jul 2012 12:04

AW: TWebbrowser, drucken weigert sich
 
Hallo Volker,
ich weiß, so nutze ich das in anderten Projekten auch. Nur in genau diesem hier weigert sich der Browser zu drucken. Ich forsche weiter, wenn ich etwas habe, poste ich.
Ciao
Frank

blondervolker 4. Jul 2012 13:26

AW: TWebbrowser, drucken weigert sich
 
Hab noch was gefunden beim gooogeln :gruebel:

Delphi-Quellcode:
{
  TWebBrowser can use native IE API to print and do other things.
  Implement on a Form a TWebBrowser component, and a button to print.
  The code attached to this button is as follow :
}

//--------------------------------------------

procedure TForm.OnClickPrint(Sender: TObject);
begin
  WebBrowser.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER);
end;

//--------------------------------------------

You can replace "OLECMDID_PRINT" by other possibilities :

OLECMDID_OPEN OLECMDID_NEW OLECMDID_SAVE
OLECMDID_SAVEAS OLECMDID_SAVECOPYAS OLECMDID_PRINT
OLECMDID_PRINTPREVIEW OLECMDID_PAGESETUP OLECMDID_SPELL
OLECMDID_PROPERTIES OLECMDID_CUT OLECMDID_COPY
OLECMDID_PASTE OLECMDID_PASTESPECIAL OLECMDID_UNDO
OLECMDID_REDO OLECMDID_SELECTALL OLECMDID_CLEARSELECTION
OLECMDID_ZOOM OLECMDID_GETZOOMRANGE OLECMDID_UPDATECOMMANDS

OLECMDID_REFRESH OLECMDID_STOP OLECMDID_HIDETOOLBARS
OLECMDID_SETPROGRESSMAX OLECMDID_SETPROGRESSPOS
OLECMDID_SETPROGRESSTEXT

OLECMDID_SETTITLE OLECMDID_SETDOWNLOADSTATE OLECMDID_STOPDOWNLOAD

OLECMDID_FIND OLECMDID_ONTOOLBARACTIVATED OLECMDID_DELETE

OLECMDID_HTTPEQUIV OLECMDID_ENABLE_INTERACTION OLECMDID_HTTPEQUIV_DONE

OLECMDID_ONUNLOAD OLECMDID_PROPERTYBAG2 OLECMDID_PREREFRESH


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz