![]() |
TWebBrowser alles markieren und kopieren
Um den gesamten Inhalt des Webbrowsers auszuwählen und zu kopieren, verwende ich folgenden Code:
Delphi-Quellcode:
Jedoch kann ich den Inhalt erst markieren und kopieren, wenn ich von Hand auf den Webbrowser-Bereich in meiner Anwendung geklickt habe. Kann man diesen Klick auch mit einem Befehl simulieren oder ist dies eine Einstellungssache des Internet Explorers?
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, OleCtrls, SHDocVw, StdCtrls, ActiveX; type TForm1 = class(TForm) WebBrowser1: TWebBrowser; Button1: TButton; procedure FormShow(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormShow(Sender: TObject); begin WebBrowser1.Navigate('http://www.google.ch/'); while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do application.processmessages; end; procedure TForm1.Button1Click(Sender: TObject); begin try WebBrowser1.ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_DODEFAULT); WebBrowser1.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT); except end; end; initialization OleInitialize(nil); finalization OleUninitialize; end. |
Re: TWebBrowser alles markieren und kopieren
Hallo, setzte den Fokus zuvor auf den Webbrowser:
Delphi-Quellcode:
procedure WB_SelectAllAndCopyToClipbrd(Webrowser: TWebbrowser);
begin with Webrowser do begin try OleObject.Document.body.focus; // Fokus auf Webbrowser setzen ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_DODEFAULT); // alles markieren ExecWB(OLECMDID_COPY, OLECMDEXECOPT_DODEFAULT); // in die Zwischenablage kopieren ExecWB(OLECMDID_CLEARSELECTION, OLECMDEXECOPT_DONTPROMPTUSER); // Markierung aufheben except end; end; end; |
Re: TWebBrowser alles markieren und kopieren
Hmm bei google scheint
Delphi-Quellcode:
oder
OleObject.Document.body.focus;
Delphi-Quellcode:
ganz gut zu funktionieren. Jedoch nicht bei allen Seiten (vlt. wegen Javascript oder ActiveX?). Gibt es noch andere Methoden?
OleObject.Document.ParentWindow.focus;
|
Re: TWebBrowser alles markieren und kopieren
Bei welcher Seite geht's z.B nicht?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:12 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