Home » Tipps & Tricks » Netzwerk/Internet » Browser » TWebBrowser ausdrucken
TWebBrowser ausdrucken
Folgende Procedure druckt den Inhalt eines TWebbrowsers aus. Als Parameter muss die TWebbrowser-Instanz übergeben werden.
procedure PrintWebBrowser(WB: TWebBrowser); var OleCommandTarget: IOleCommandTarget; Command: TOleCmd; Success: HResult; begin if not Assigned(WB) then Exit; if not Assigned(WB.Document) then Exit; // Referenz auf IOleCommandTarget besorgen WB.Document.QueryInterface(IOleCommandTarget, OleCommandTarget); // Prüfen, ob Drucken momentan erlaubt Command.cmdID:= OLECMDID_PRINT; if OleCommandTarget.QueryStatus(nil, 1, @Command, nil) S_OK then begin ShowMessage('Drucken nicht möglich'); Exit; end; if (Command.cmdf and OLECMDF_ENABLED) 0 then begin // Drucken ausführen Success:= OleCommandTarget.Exec(nil, OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER, EmptyParam, EmptyParam); case Success of S_OK: ; // Alles OK OLECMDERR_E_CANCELED: ShowMessage('Abbruch durch User'); else ShowMessage('Fehler!!!'); end; end else begin // Drucken momentan nicht erlaubt ShowMessage('Drucken nicht möglich'); Exit; end; end;
In diesem Fall wird der Druck-Konfigurationsdialog angezeigt. Dies wird über den Parameter OLECMDEXECOPT_PROMPTUSER gesteuert. Soll kein Dialog angezeigt werden, muss der Parameter den Wert OLECMDEXECOPT_DONTPROMPTUSER annehmen.Es müssen außerdem die Units „ActiveX“ und „SHDocVw_TLB“ eingebunden werden.