Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to control a popup web page when use TWebBrowser ?

30 views
Skip to first unread message

Rae Wong

unread,
Dec 18, 2000, 10:15:37 AM12/18/00
to
Hi,

I've a application use TWebBrowser as a internal browser.
I find that it will call the default browser when the TWebBrowser open a web
page with a popup page.
I know there have a event in TWebBrowser name 'OnNewWindow2' can be used to
trigger the new web page, but I don't know how to use the parameter 'ppDisp'
for the new page.
Could anyone can help me ?

Very greatefull for your help.

Rae Wong.

Deborah Pate (TeamB)

unread,
Dec 18, 2000, 11:12:06 AM12/18/00
to
<<Rae Wong:

I know there have a event in TWebBrowser name
'OnNewWindow2' can be used to trigger the new web page, but
I don't know how to use the parameter 'ppDisp' for the new
page.
>>
You pass in an IWebBrowser2 interface. For example, if you
have a form with a webbrowser on it like this:
type
TBrowserForm = class(TForm)
WB: TMSWebBrowser;
procedure FormClose(Sender: TObject;
var Action: TCloseAction);
private
function GetBrowser: IWebBrowser2;
function GetReady: boolean;
public
property Browser: IWebBrowser2 read GetBrowser;
property Ready: boolean read GetReady;
end;
..
procedure TBrowserForm.FormClose(Sender: TObject; var
Action: TCloseAction);
begin
Action := caFree;
end;

function TBrowserForm.GetBrowser: IWebBrowser2;
begin
Result := WB.DefaultInterface as IWebBrowser2;
end;

function TBrowserForm.GetReady: boolean;
begin
Result := (WB.ReadyState = ReadyState_Complete);
end;

You could call it from an OnNewWindow2 event like this:

procedure TForm1.WBNewWindow2(Sender: TObject; var ppDisp:
IDispatch;
var Cancel: WordBool);
var
NewWB: TBrowserForm;
begin
NewWB := TBrowserForm.Create(Application);
ppDisp := NewWB.Browser;
while not NewWB.Ready do
Application.ProcessMessages;
NewWB.Show;
end;

--
Deborah Pate (TeamB) http://delphi-jedi.org

Use Borland servers; TeamB don't see posts via ISPs
http://www.borland.com/newsgroups/genl_faqs.html


0 new messages