Einzelnen Beitrag anzeigen

Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
760 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Embedded Internet Explorer ruft nicht den Standardbrowser auf

  Alt 12. Jul 2019, 16:33
Schau dir Mal NewWindow3 an (ab XP, sonst NewWindow2)

https://docs.microsoft.com/en-us/pre...337(v%3Dvs.85)

Links wie <a href=… target="_blank"> kannst du so in einem externen Browser öffnen:

Delphi-Quellcode:
type
  TMeinFenster = class(TForm)

    WebPanel: TPanel;
...
    procedure WebBrowser1NewWindow3(ASender: TObject; var ppDisp: IDispatch;
      var Cancel: WordBool; dwFlags: Cardinal; const bstrUrlContext,
      bstrUrl: WideString);
...
    protected
----


var MeinFenster : TMeinFenster;
    WebBrowser1: TWebBrowser;
   
....

procedure TMeinFenster.WebBrowser1NewWindow3(ASender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool; dwFlags: Cardinal;
  const bstrUrlContext, bstrUrl: WideString);
begin
// Webseite öffnen:
    OeffneWebseite( bstrUrl ); // via Shell oder OLE oder … den Standardbrowser starten
end;

....


// Bei Bedarf WebBrowser erzeugen - Webseite wird in WebPanel angezeigt:

  WebBrowser1 := TWebBrowser.Create(MeinFenster);
  TWinControl(WebBrowser1).Name := 'MeinWebBrowser';
  WebBrowser1.Align := alClient;
  TWinControl(WebBrowser1).Parent := MeinFenster.WebPanel;
  WebBrowser1.OnNewWindow3 := WebBrowser1NewWindow3;
Michael Gasser

Geändert von Michael II (12. Jul 2019 um 19:49 Uhr)
  Mit Zitat antworten Zitat