|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.04.2018, 09:27 | #1 |
Пользователь
Регистрация: 01.04.2018
Сообщений: 18
|
Название вкладок у pagecontrol
Всем добрый день, столкнулся с такой проблемой при создании новой вкладки на pagecontrol нужно чтоб в название этой вкладки записывался html страницы, как сейчас во всех браузера пробывал это сделать так:
procedure TForm1.WebBrowser1DocumentComplete( ASender: TObject; const pDisp: IDispatch; const URL: OleVariant); begin PageControl1.ActivePage.Caption:=TW ebBrowser(PageControl1.ActivePage.C ontrols[0]).oleobject.document.title; end; Но в данном случае меняется только заголовок самой первой вкладки а новых нет. Заранее благодарю |
14.04.2018, 11:54 | #2 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Если вы используете один общий TWebBrowser то все правильно
Вы должны на каждой вкладке создавать TWebBrowser со своим запросом и уже название запроса присваивать названию вкладке, что то похожее в этой теме http://www.programmersforum.ru/showthread.php?t=318634 Для полного понимания покажите весь код из той темы переделал для вас Код:
Последний раз редактировалось Aliens_wolfs; 14.04.2018 в 12:10. |
14.04.2018, 20:03 | #3 |
Пользователь
Регистрация: 01.04.2018
Сообщений: 18
|
Вот весь код
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.OleCtrls, SHDocVw, Vcl.ComCtrls, Vcl.StdCtrls, Vcl.Imaging.pngimage, Vcl.Buttons; type TForm1 = class(TForm) ProgressBar1: TProgressBar; Panel1: TPanel; Image1: TImage; Image2: TImage; Image3: TImage; Edit1: TEdit; Image5: TImage; ComboBox1: TComboBox; Image4: TImage; Image6: TImage; OpenDialog1: TOpenDialog; Image7: TImage; Image8: TImage; Image9: TImage; Image10: TImage; PageControl1: TPageControl; TabSheet1: TTabSheet; WebBrowser1: TWebBrowser; Image11: TImage; SpeedButton1: TSpeedButton; procedure Image1Click(Sender: TObject); procedure Image2Click(Sender: TObject); procedure Image3Click(Sender: TObject); procedure Image4Click(Sender: TObject); procedure Image5Click(Sender: TObject); procedure WebBrowser1NavigateComplete2(ASende r: TObject; const pDisp: IDispatch; const URL: OleVariant); procedure WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); procedure WebBrowser1ProgressChange(ASender: TObject; Progress, ProgressMax: Integer); procedure FormCreate(Sender: TObject); procedure ComboBox1KeyPress(Sender: TObject; var Key: Char); procedure SpeedButton1Click(Sender: TObject); procedure Image6Click(Sender: TObject); procedure Image7Click(Sender: TObject); procedure Image8Click(Sender: TObject); procedure Image9Click(Sender: TObject); procedure Image10Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Image11Click(Sender: TObject); procedure WebBrowser1DocumentComplete(ASender : TObject; const pDisp: IDispatch; const URL: OleVariant); procedure Image12Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var TabSheet:TTabSheet; begin if pagecontrol1.PageCount>=2 then pagecontrol1.ActivePage.Free; PageControl1.ActivePage :=TabSheet; end; procedure TForm1.ComboBox1KeyPress(Sender: TObject; var Key: Char); var a:string; begin if Key=#13 then begin WebBrowser1.Navigate(ComboBox1.Text ); a:=ComboBox1.text; ComboBox1.Items.Add(a); end; end; procedure TForm1.FormCreate(Sender: TObject); begin WebBrowser1.Navigate('http://www.google.com'); end; procedure TForm1.Image10Click(Sender: TObject); begin WebBrowser1.ExecWB(OLECMDID_PAGESET UP, OLECMDEXECOPT_DODEFAULT); end; procedure TForm1.Image11Click(Sender: TObject); var ts : TTabSheet; wb: TWebBrowser; TabSheet:TTabSheet; begin TabSheet :=TTabSheet.Create(PageControl1); //получаю указатель на новую закладку TabSheet.Caption :=Edit1.Text; //задаю ей имя в поле ввода TabSheet.PageControl :=PageControl1; //связываю с объектом PageControl1.ActivePage :=TabSheet; //перехожу на созданную закладку wb := Twebbrowser.Create(TabSheet); wb.ParentWindow:= TabSheet.Handle; wb.Align:= AlClient ; wb.Navigate('http://www.google.com'); wb.Height:= 758 ; wb.Width:= 1432; end; procedure TForm1.Image12Click(Sender: TObject); var TabSheet:TTabSheet; begin if pagecontrol1.PageCount>=2 then pagecontrol1.ActivePage.Free; PageControl1.ActivePage :=TabSheet; end; procedure TForm1.Image1Click(Sender: TObject); begin WebBrowser1.goback; end; procedure TForm1.Image2Click(Sender: TObject); begin WebBrowser1.Refresh end; procedure TForm1.Image3Click(Sender: TObject); var Doc, Histor: Variant; begin Doc:= WebBrowser1.OleObject.document; //Ссылаемся на интерфейс документа; if TVarData(Doc).VDispatch = nil then Exit; //Если документ отсутствует, тогда выходим; Histor:=Doc.parentWindow.history; {Объект документа - объект родительского окна - объект содержащий историю переходов Шаг вперед к предыдущему URL.}; Histor.go(1); end; procedure TForm1.Image4Click(Sender: TObject); var a:string; begin WebBrowser1.Navigate(Edit1.Text); a:=ComboBox1.text; // Записываем параллельно этот адрес в переменную; ComboBox1.Items.Add(a); // Загружаем введенное в список ComboBox1; end; procedure TForm1.Image5Click(Sender: TObject); var TabSheet:TTabSheet; begin WebBrowser1.Navigate('http://www.google.com'); end; procedure TForm1.Image6Click(Sender: TObject); begin if OpenDialog1.Execute then begin WebBrowser1.Navigate(OpenDialog1.Fi leName); ComboBox1.Text:=OpenDialog1.FileNam e; end; end; procedure TForm1.Image7Click(Sender: TObject); begin WebBrowser1.ExecWB(OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT); end; procedure TForm1.Image8Click(Sender: TObject); var PostData, Headers: OLEvariant; begin WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT, PostData, Headers); //Печатаем содержимое TWebBrowser; end; procedure TForm1.Image9Click(Sender: TObject); begin WebBrowser1.ExecWB(OLECMDID_PRINTPR EVIEW, OLECMDEXECOPT_DODEFAULT); end; procedure TForm1.SpeedButton1Click(Sender: TObject); var TabSheet:TTabSheet; begin if pagecontrol1.PageCount>=2 then pagecontrol1.ActivePage.Free; PageControl1.ActivePage :=TabSheet; end; procedure TForm1.WebBrowser1DocumentComplete( ASender: TObject; const pDisp: IDispatch; const URL: OleVariant); begin PageControl1.ActivePage.Caption:=TW ebBrowser(PageControl1.ActivePage.C ontrols[0]).oleobject.document.title; end; procedure TForm1.WebBrowser1NavigateComplete2 (ASender: TObject; const pDisp: IDispatch; const URL: OleVariant); begin Edit1.Text:=URL; end; procedure TForm1.WebBrowser1NewWindow2(ASende r: TObject; var ppDisp: IDispatch; var Cancel: WordBool); var newform:Tform1; begin ppdisp:=WebBrowser1.DefaultDispatch ; newform:=Tform1.Create(self); newform.Show; ppdisp:=newform.WebBrowser1.Default Dispatch; end; procedure TForm1.WebBrowser1ProgressChange(AS ender: TObject; Progress, ProgressMax: Integer); begin progressbar1.max:=progressMax; progressbar1.Position:=progress; end; end. |
14.04.2018, 20:04 | #4 |
Пользователь
Регистрация: 01.04.2018
Сообщений: 18
|
И еще вопрос как можно сделать чтоб кнопки назад вперед и перезагрузки работали на активной вкладке
|
14.04.2018, 21:31 | #5 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Выделите свой код и нажмите # на панели где сообщение пишите, а то неудобно ваш код смотреть
|
14.04.2018, 21:33 | #6 |
Пользователь
Регистрация: 01.04.2018
Сообщений: 18
|
Код:
|
14.04.2018, 21:33 | #7 |
Пользователь
Регистрация: 01.04.2018
Сообщений: 18
|
извиняюсь за неудобства
|
14.04.2018, 21:35 | #8 |
Пользователь
Регистрация: 01.04.2018
Сообщений: 18
|
и не знаю мучаюсь уже довольно долго насчет кнопок а именно вперед назад перезагрузка и домой тоесть они работают только на самой первой вкладке а не на активной
|
14.04.2018, 22:27 | #9 |
Форумчанин
Регистрация: 16.12.2009
Сообщений: 902
|
Кое что начал делать из вашего кода
Вот накидал правда есть иногда ошибка с переходом вперед, для примера посмотрите что к чему Последний раз редактировалось Aliens_wolfs; 15.04.2018 в 00:49. |
15.04.2018, 07:26 | #10 |
Пользователь
Регистрация: 01.04.2018
Сообщений: 18
|
Огромное спасибо, даже не знаю как благодарить ошибка с кнопкой вперед было потому-что вы там написали Wb_GoBack а не GoForward Огромное спасибо. только у меня почему-то ругается на эту строчку WB_GoBack(WB); странно конкретно на нижнее подчеркивание наверное
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
PageControl и динамическое содержимое вкладок из DLL | prizrak1390 | Общие вопросы Delphi | 8 | 09.06.2015 10:10 |
Не могу убрать обводку с вкладок PageControl | bakanaev | Общие вопросы Delphi | 2 | 09.07.2013 08:51 |
PageControl. в процессе проектировки формы создать несколько вкладок. | GN_ | Помощь студентам | 7 | 15.11.2011 20:56 |
Сохранение текста с вкладок PageControl | OPF_Nik | Общие вопросы Delphi | 2 | 12.02.2010 12:35 |
TreeView и PageControl (переключение вкладок по дереву) | Nevy | Общие вопросы C/C++ | 5 | 17.08.2008 19:17 |