AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TWebBrowser alles markieren und kopieren
Thema durchsuchen
Ansicht
Themen-Optionen

TWebBrowser alles markieren und kopieren

Ein Thema von Bl00dh0und · begonnen am 12. Jul 2008 · letzter Beitrag vom 13. Jul 2008
Antwort Antwort
Bl00dh0und

Registriert seit: 13. Okt 2005
5 Beiträge
 
#1

TWebBrowser alles markieren und kopieren

  Alt 12. Jul 2008, 21:06
Um den gesamten Inhalt des Webbrowsers auszuwählen und zu kopieren, verwende ich folgenden Code:

Delphi-Quellcode:
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.
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?
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: TWebBrowser alles markieren und kopieren

  Alt 13. Jul 2008, 02:17
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;
Thomas
  Mit Zitat antworten Zitat
Bl00dh0und

Registriert seit: 13. Okt 2005
5 Beiträge
 
#3

Re: TWebBrowser alles markieren und kopieren

  Alt 13. Jul 2008, 16:04
Hmm bei google scheint OleObject.Document.body.focus; oder OleObject.Document.ParentWindow.focus; ganz gut zu funktionieren. Jedoch nicht bei allen Seiten (vlt. wegen Javascript oder ActiveX?). Gibt es noch andere Methoden?
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

Re: TWebBrowser alles markieren und kopieren

  Alt 13. Jul 2008, 16:15
Bei welcher Seite geht's z.B nicht?
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 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