AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi WebBrowser1NewWindow2

WebBrowser1NewWindow2

Ein Thema von alpha1 · begonnen am 4. Jan 2006 · letzter Beitrag vom 5. Jan 2006
Antwort Antwort
Seite 1 von 2  1 2   
alpha1

Registriert seit: 19. Nov 2005
40 Beiträge
 
#1

WebBrowser1NewWindow2

  Alt 4. Jan 2006, 17:01
Hello! Why this code doesn`t work? It opens new TabSheet but new page doesn`t load. Only old page on new TabSheet is visible!!...

Delphi-Quellcode:
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
var
  TabSheet: TTabSheet;
  Web: TWebbrowser;
begin
  TabSheet := TTabSheet.Create(Form1.PageControl1);

  with TabSheet do
  begin
    PageControl := Form1.PageControl1;
  end;
  Web := TWebbrowser.CreateParented(TabSheet.Handle);
  TabSheet.InsertControl(Web);
  TWinControl(Web).Align := alClient;
  ppDisp := (PageControl1.ActivePage.Controls[0] as TWebBrowser).DefaultDispatch;
  Web.OnNewWindow2 := Webbrowser1NewWindow2;
  PageControl1.ActivePageIndex := PageControl1.PageCount-1;
end;
And how can make, that different TWebbrowser`s TabSheet`s would be controlled with "Back, Forward, Home, ..." buttons individually? Please help me
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

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

Re: WebBrowser1NewWindow2

  Alt 4. Jan 2006, 18:11
hi!

Have a look at my Mini Webbrowser Demo
Thomas
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: WebBrowser1NewWindow2

  Alt 4. Jan 2006, 18:25
Hello alpha1,

your code will perform better if you take care of the time you advance the ActivePageIndex. You might as well use the Web variable to retrieve the correct browser interface to return:

Delphi-Quellcode:
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
  var ppDisp: IDispatch; var Cancel: WordBool);
var
  TabSheet: TTabSheet;
  Web: TWebbrowser;
begin
  TabSheet := TTabSheet.Create(PageControl1);
  TabSheet.PageControl := PageControl1;
  Web := TWebBrowser.Create(TabSheet);
  // Web := TWebbrowser.CreateParented(TabSheet.Handle);
  TabSheet.InsertControl(Web); // this declares TabSheet Parent
  TWinControl(Web).Align := alClient;
  Web.OnNewWindow2 := Webbrowser1NewWindow2;
  PageControl1.ActivePageIndex := PageControl1.PageCount-1;
  ppDisp := Web.DefaultDispatch;
end;
Happy New Year from marabu
  Mit Zitat antworten Zitat
alpha1

Registriert seit: 19. Nov 2005
40 Beiträge
 
#4

Re: WebBrowser1NewWindow2

  Alt 4. Jan 2006, 18:26
I have already seen your browser. It`s very cool but also enough intricate for me ...
I would be very grateful to you if you could paste here only those functions which I need, because your code in your browser is confused and i can`t to pick that I exactly need... Thank`s yet again!
  Mit Zitat antworten Zitat
alpha1

Registriert seit: 19. Nov 2005
40 Beiträge
 
#5

Re: WebBrowser1NewWindow2

  Alt 4. Jan 2006, 18:41
Thank`s marabu for your answer but your corrected cose also won`t work
Please help me somebody because I have tried all codes in this cool(! ) forum and I haven`t found working code
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: WebBrowser1NewWindow2

  Alt 4. Jan 2006, 19:04
Alpha1, you have investigated your code well. Besides that one mistake you made there is nothing in it to point fingers to. In fact I just ran the corrected code in a tiny test project and it does what you would expect. If the code fails in your project, chance is you are doing evil things elsewhere. Try to isolate the corrected code I gave you in a test project and see for yourself.

marabu
  Mit Zitat antworten Zitat
alpha1

Registriert seit: 19. Nov 2005
40 Beiträge
 
#7

Re: WebBrowser1NewWindow2

  Alt 4. Jan 2006, 21:17
Ohh shit (sorry ) There was so stupid error!! Now browser works great! Thank`s guys!
  Mit Zitat antworten Zitat
alpha1

Registriert seit: 19. Nov 2005
40 Beiträge
 
#8

Re: WebBrowser1NewWindow2

  Alt 5. Jan 2006, 09:39
I have new one question . This code opens new TabSheet but why there doesn`t create any TWebbrowser in this TabSheet?

Delphi-Quellcode:
procedure TForm1.NewTab;
var
  ts: TTabSheet;
  WB: TWebbrowser;
begin
  // Create a new TabSheet
  ts := TsuiTabSheet.Create(suiPageControl1);
  try
    // Assign TTabSheet Properties
    ts.PageControl := PageControl1;
    ts.Parent := PageControl1;
    ts.PageIndex := PageControl1.ActivePageIndex + 1;

    // Create a TWebbrowser instance
    WB := TWebbrowser.Create(ts);

    // put TWebbrowser on TTabSheet
    TControl(WB).Parent := ts;

    // Assign Webbrowser Properties
    WB.Align := alClient;
    WB.Silent := True;
    WB.Visible := True;

    PageControl1.ActivePage := ts;

    // Assign Webbrowser Events
    WB.OnStatusTextChange := WebBrowser1StatusTextChange;
    WB.OnTitleChange := WebBrowser1TitleChange;
    WB.OnNewWindow2 := WebBrowser1NewWindow2;
    WB.OnCommandStateChange := WebBrowser1CommandStateChange;
    ImageButton1.Enabled := False;
    ImageButton2.Enabled := False;
  except
    ts.Free;
  end;
end;
  Mit Zitat antworten Zitat
alpha1

Registriert seit: 19. Nov 2005
40 Beiträge
 
#9

Re: WebBrowser1NewWindow2

  Alt 5. Jan 2006, 10:02
I have found new good:

Delphi-Quellcode:
procedure TForm1.NewTab;
var Tab: TTabSheet;
    Browser: TWebBrowser;
begin
 Tab:= TTabSheet.Create(PageControl1);
 Tab.PageControl := PageControl1;
 Tab.Caption := 'about:blank';
 Browser:= TWebBrowser.Create(Tab);
 TControl(Browser).Parent := Tab;
 Browser.Align := alClient;
 Browser.Navigate('about:blank');
end;
It works great
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

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

Re: WebBrowser1NewWindow2

  Alt 5. Jan 2006, 10:03
The code works fine for me (look at the compiled demo + source in the attachment)
Angehängte Dateien
Dateityp: zip wbnewtab_188.zip (177,3 KB, 21x aufgerufen)
Thomas
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 05:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf