WebBrowser的问题(附代码)好难哟!(20分)

Z

zzhudy

Unregistered / Unconfirmed
GUEST, unregistred user!
tyde
......................
PageControl1: TPageControl;
ToolButton1: TToolButton;
WebBrowser1: TWebBrowser;
TabSheet1: TTabSheet;
procedure ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
procedure WebBrowser1NavigateComplete2(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
procedure PageControl1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ToolButton6Click(Sender: TObject);
private
{ Private declarations }
Tabsheet: TTabsheet;
Web:TWebBrowser;
tt:Widestring;

procedure newwindows;


public

{ Public declarations }

end;

var
Form1: TForm1;

implementation

{$R *.dfm}
Procedure TForm1.newwindows ;

begin


tabsheet:=Ttabsheet.create(pagecontrol1);
tabsheet.PageControl :=pagecontrol1;

Web:=TWebBrowser.Create(self);
TabSheet.InsertControl(Web);

with web do
begin
Align :=alclient;
Navigate(combobox1.Text);
OnNewWindow2 := WebBrowser1NewWindow2;
onNavigateComplete2:=WebBrowser1NavigateComplete2
end;
end;
procedure TForm1.ComboBox1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);

begin
if key=13 then
begin
newwindows;
tabsheet1.TabVisible :=false;
webbrowser1.Hide ;
end;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
treeview1.Visible :=False;
end;

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch; var Cancel: WordBool);
begin
newwindows;
ppDisp:=web.Application ;

end;

procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
ComboBox1.Text :=URL;
tabsheet.Caption :=ComboBox1.Text ;

end;

procedure TForm1.PageControl1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
ComboBox1.Text :=Pagecontrol1.ActivePage.Caption ;
//双击关闭当前网页
if PageControl1.PageCount =1 then
begin
tabsheet1.Visible :=true ;
webbrowser1.Show;
end
else if (ssDouble in Shift) then
Pagecontrol1.ActivePage.free
end;

procedure TForm1.ToolButton6Click(Sender: TObject);
var
ID:integer;
begin


ID:=TToolButton(sender).Tag ;
if web<>nil then
begin
Case ID of
1:try web.GoBack except end;
2:try web.GoForward except end;
3:exit;
4:web.Stop ;
5:web.Refresh ;
6:web.GoHome ;
end;
end;
end;
end.
问题:
1、我怎么在点击前进,后退等按钮就会出错?
2、tabsheet1.Visible :=true ;webbrowser1.Show;这两句怎么不能再次
打开tabsheet与webbrowser1?
3、怎样才能更好地把web的URL赋给tabsheet.caption与ComboBox1.text?
 
各位高手帮帮忙吧,急死人了
 
1、懒得看了。
2、只有一页时不关闭不就了,把URL为“BLANK:ABOUT”
3、StatusChange事件改变。
 
To liuxi:
帮我看看吧
2、我是前面tabsheet1.Visible :=false ;webbrowser1.hide;当web都关闭时才
tabsheet1.Visible :=true ;webbrowser1.Show;
3、所赋的值不对应。
 
先简化一下,然后慢慢扩充,或许可以看出问题所在。
 
3、取web的LocationURL属性值。
 
真的没有高手了吗,不会吧,怎么都要帮帮忙呀
 
如果没人回答出这个问题可不可以自己给自己加分呀
 
你的问题就是,PageControl改变ActivePage的同时,没有改变TabSheet和Web的值。
具体代码就自己考虑了。
 
顶部