帮我看看!(30分)

  • 主题发起人 主题发起人 jericho3164
  • 开始时间 开始时间
J

jericho3164

Unregistered / Unconfirmed
GUEST, unregistred user!

我用TWebBrowser写浏览器,但是遇到了几个严重的问题,浏览器采用同窗口多页面的浏览方式,在PageControl上放置一个WebBrowser,我想我不详细说,各位也知道怎么做了吧。
现在的问题是:1,如果PageControl的页标签数目超过1个,那么输入网址回车后,始终在第一个默认窗口中打开,新建的那个窗口仍是空白。ComboBox的代码如下:
if Key = #13 then
begin
WebBrowser1.Navigate(UrlComboBox.Text);
end;//我知道肯定有问题,但是我没有办法,不会写^_^。

2,如果按Ctrl+N新建一个空白网页的话,再输入网址,代码如下:
if (Key = #13) and (PageControl1.ActivePage.Caption='新建网页') then
begin
ATabSheet:=TTabSheet.Create(PageControl1);
ATabSheet.PageControl:=PageControl1;
PageControl1.ActivePage:=ATabSheet;
ABrowser:=TWebBrowser.Create(ATabSheet);
TWinControl(ABrowser).Parent:=ATabSheet;
ABrowser.Align:=alClient;
ABrowser.Navigate(UrlComboBox.Text);
end;//这时网页会再新开一个窗口来打开。

3,我在网页下载完成后有如下事件:
procedure TMainForm.WebBrowser1DownloadComplete(Sender: TObject);//网页下载完成后事件
begin
PageControl1.ActivePage.Caption:=WebBrowser1.LocationName;
UrlComboBox.Text:=WebBrowser1.LocationURL;
end;//我是想在页标签的Caption属性上为当前网站的Name,可是代码有问题,使用的是WeBrowser1.LocationURL,可是在新建网页中代开网页,我使用的是ABrowser.Navigate(UrlComboBox.Text);
如果在这个过程中再加入变量
var
ABrowser:TWebBrowser;
那么就会出现编译错误,说该变量可能已经初始化了!所以我就没辙了。

麻烦各位大虾帮忙纠正以上的错误!
 
1. if Key = #13 then
begin
>> TTabSheet(PageControl1.ActivePage).WebBrowser1.Navigate(UrlComboBox.Text);
end
3. 用TwebBrowser的OntitleChange
 
见大富翁FAQ 之 TWebBrowser
http://www.8421.org/article.php?id=178
 
多人接受答案了。
 
后退
顶部