Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > PageControl, TabSheet, WebBrowser


Автор: usya2 10.3.2011, 21:07
Всем Здравствуйте.....
Подскажите как сделать так, чтобы в кождой новой созданной вкладке отображалась загруженная страница......
У меня вклаки создаются , но при смене адреса на адной , меняется адрес и на других)))))

Автор: Keeper89 11.3.2011, 00:59
Цитата(usya2 @  10.3.2011,  21:07 Найти цитируемый пост)
У меня вклаки создаются , но при смене адреса на адной , меняется адрес и на других))))) 

Ну наверное надо создавать экземпляр браузера на каждой закладке.

Автор: Данкинг 11.3.2011, 01:08
Цитата(usya2 @  10.3.2011,  21:07 Найти цитируемый пост)
У меня вклаки создаются , но при смене адреса на адной , меняется адрес и на других))))) 

Долго думал над этой фразой, особенно над смыслом скобочек в конце. Только так и не понял, как при смене адреса в одном экземпляре TWebBrowser может меняться адрес на других экземплярах.

Автор: usya2 11.3.2011, 01:44
Цитата(Keeper89 @ 11.3.2011,  00:59)
Цитата(usya2 @  10.3.2011,  21:07 Найти цитируемый пост)
У меня вклаки создаются , но при смене адреса на адной , меняется адрес и на других))))) 

Ну наверное надо создавать экземпляр браузера на каждой закладке.

Подскажи Если не трудно как реализовать !..

Автор: Чучмек 11.3.2011, 09:40
Создаеш на  PageControl1 одну вкладку с одним компонентом WebBrowser1.
Кидаеш на форму edit1 для адреса и Button1-"ПЕРЕЙТИ".
Для WebBrowser1 создаеш обработчик события OnNewWindow2.
Код

procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
 var 
ts:TTabSheet;
wb:twebbrowser;
begin
ts:=TTabSheet.Create(nil);
ts.PageControl:=PageControl1;
wb:=twebbrowser.Create(nil);
ts.InsertControl(wb);
wb.Align:=alclient;
wb.ParentWindow:=ts.Handle;
wb.OnNewWindow2:=WebBrowser1NewWindow2;
ppDisp :=wb.ControlInterface;
end;

procedure TForm1.Button1Click(Sender: TObject);
var ts:TTabSheet;
begin
ts:=PageControl1.Pages[PageControl1.ActivePageIndex];
twebbrowser(ts.Controls[0]).Navigate(edit1.Text);
end;


Автор: KAMIKAZE 9.5.2011, 16:30
Чучмек  У меня только для первого таба создается, навигация для него же только выполняется. ЧТо я не так делаю? Код полностью твой, ничего не менял.

Автор: Чучмек 21.5.2011, 14:11
TabControl или PageControl?
Вот рабочий пример.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)