要在同一个WebBrowser里显示,可以这样
再放一个小的WebBrowser2,设置它在WebBrowser1下面(设置Visible为False好象无效),
// 在WebBrowser1的OnNewWindow2事件中:
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
ppDisp := WebBrowser2.Application; // 新的窗口先指向WebBrowser2
end;
// 在WebBrowser2的OnBeforeNavigate2事件中:
procedure TForm1.WebBrowser2BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
WebBrowser1.Navigate(string(URL)); // 再指回WebBrowser1
Cancel := True;
end;
本文介绍如何通过设置WebBrowser控件实现多窗口显示的功能。具体方法是在一个WebBrowser中嵌套另一个WebBrowser,并利用OnNewWindow2及OnBeforeNavigate2事件进行窗口间的跳转与管理。
1761

被折叠的 条评论
为什么被折叠?



