![]() |
TWebBrowser und komplette Seite speichern,drucken,kopieren..
schon oft kam im forum die frage danach, wie man eine seite, welche im twebbrowser angezeigt wird komplett speichern könne. als antwort kam eigentlich fast immer, dass man den quelltext auslesen solle und dann alles herunterladen muss.
nun ja, warum etwas neu erfinden, was der internt explorer schon so gut kann. und da der twebbrowser ja auch nichts anderes ist, kann mann dies auch leicht realisieren.
Delphi-Quellcode:
[edit=Matze]COde formatiert. Mfg, Matze[/edit]
uses
Forms, OleCtrls, SHDocVw, StdCtrls, ActiveX, Classes, Controls; type TForm1 = class(TForm) WebBrowser1: TWebBrowser; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public procedure webbrowser_actions(browser:TWebBrowser;Query_cmdID:OLECMDF;var vaIn,vaOut: OleVariant); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.webbrowser_actions(browser:TWebBrowser;Query_cmdID:OLECMDF;var vaIn,vaOut: OleVariant); var eQuery: OLECMDF; begin try eQuery := Browser.QueryStatusWB(Query_cmdID); if (eQuery and OLECMDF_ENABLED) = OLECMDF_ENABLED then Browser.ExecWB(Query_cmdID, OLECMDEXECOPT_PROMPTUSER, vaIn, vaOut); except //irgendwas end; end; //eine Seite im TWebBrowser öffnen procedure TForm1.Button1Click(Sender: TObject); begin webbrowser1.Navigate('www.google.de'); end; //Beispielaufruf procedure TForm1.Button2Click(Sender: TObject); var vaIn,vaOut: OleVariant; begin webbrowser_actions(webbrowser1,OLECMDID_SAVEAS,vaIn,vaOut); { weitere nützliche parameter OLECMDID_PROPERTIES zeigt Eigenschaftsdialog an OLECMDID_CUT Ausschneiden (ohne if Abfrage wird Text,... aus der Webseite auch wirklich ausgeschnitten) OLECMDID_COPY Kopieren OLECMDID_PASTE Einfügen (ohne if Abfrage wird Text,... aus der Webseite auch wirklich eingefügt) OLECMDID_SELECTALL Alles markieren OLECMDID_PROPERTIES zeigt den Eigenschaftsdialog an OLECMDID_PRINTPREVIEW zeigt Druckvorschau an OLECMDID_PRINT druckt angezeigte Seite OLECMDID_PRINTSETUP zeigt Seite Einrichten Dialog an weitere parameter bitte der uses ActiveX entnehmen (Strg gedrückt halten und mit der Maus auf einen Query_cmdID Parameter klicken) } end; initialization OleInitialize(nil); finalization OleUninitialize; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz