Tworzę sobie malutką przeglądarkę w TWebBrowser i stanąłem na zakładkach(kartach). Kod zrobiłem taki że zakładki działają ale nie tak jakbym chciał. Oto kody które odpowiadają za tworzenie się kart i przenoszenia nas na ich adres:
Pierwsze to event OnNewWindow2 w TWebBrowser
var TabSheet: TTabSheet;
WebBrowser: TWebBrowser;
begin
TabSheet := TTabSheet.Create(Self);
TabSheet.Caption := 'Nowa zakładka';
TabSheet.PageControl := PageControl1;
WebBrowser:= TWebBrowser.Create(Self);
TWinControl(WebBrowser).Parent:= TabSheet;
WebBrowser.Align := alClient;
TabSheet.Show;
if (PageControl1.ActivePage.Controls[0] is TWebBrowser)
then (PageControl1.ActivePage.Controls[0] as TWebBrowser).Navigate(pchar(adr));
ppDisp := Webbrowser1.Application;
Tu tworzy się nowa karta, i nadaję jej adres
procedure TForm1.PageControl1Change(Sender: TObject);
begin
Edit1.Text:=(PageControl1.ActivePage.Controls[0] as TWebBrowser).LocationURL;
Self.Caption:=(PageControl1.ActivePage.Controls[0] as TWebBrowser).LocationName;
WebBrowser1.Navigate(Edit1.Text);
end;
Tu zmieniamy nazwę i edit'a (pasek adresu) po klinięciu na inną kartę.
Nie satysfakcjonuje mnie natomiast ta linijka:
WebBrowser1.Navigate(Edit1.Text);
Za każdym odświeżeniem(kliknięciem na kartę) strona wczytywana jest z powrotem, a ja chciałbym by ta strona została "zapisana".
Jeszcze jedno pytanie zrobiłem system ulubionych, możemy tam dodać stronę którą chcemy zapisać. Dodaję ją do pliku a następnie wczytuje do listboxa i tu jest problem. W zdarzeniu OnClick dałem:
WebBrowser1.Navigate(ListBox1.Items.Text);
czyli przeniesienia na stronę, lecz strona się nie wczytuje bo do pasku adresu trafiają wszystkie elementy listboxa!
I ostatnie jak dodać własne menu to TWebBrowsera? Tak by były opcje "Otwórz w nowej karcie" i "Otwórz w nowym oknie"?