merhaba , webbrowser ile bir internet sayfası açıyoruz. Açtığımız sitede linki tıklayınca explorer ile açıyor. Yeni açılan sayfayı explorer ile değilde kendi webbrowserım da
yeni sekme oluşturup nasıl açarım. Forumda onnewwindow olarak arattım fakat çok az sonuç buldum ve denediğim örnekleri sonuç alamadım.
webbrowser da açması gerekirken
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: webbrowser da açması gerekirken
formma PageControl,WebBrowser ekle
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
Tabsheet: TTabSheet;
WebBrowser: TWebBrowser;
i: integer;
begin
if PageControl1.ActivePageIndex >= 19 then
begin
StatusBar1.Panels[2].Text :=
'Yeni Sayfa Maksimum 20 Adet Oluşturabilirsiniz!';
end
else
begin
i := PageControl1.PageCount;
Tabsheet := TTabSheet.Create(PageControl1);
Tabsheet.Caption := 'Yeni Sayfa ' + inttostr(i + 1);
Tabsheet.Name := 'Tabsheet' + inttostr(i + 1);
Tabsheet.PageControl := PageControl1;
PageControl1.ActivePage := Tabsheet;
WebBrowser := TWebBrowser.Create(Tabsheet);
Twincontrol(WebBrowser).Name := 'Webbrowser' + inttostr(i + 1);
WebBrowser.Align := alclient;
Twincontrol(WebBrowser).parent := Tabsheet;
for i := 0 to PageControl1.ActivePage.ComponentCount - 1 do // -------->>>
begin
if PageControl1.ActivePage.Components[i] is TWebBrowser then
TWebBrowser(PageControl1.ActivePage.Components[i])
.Navigate(Form2.Edit3.Text);
end;
end;
end;
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
Re: webbrowser da açması gerekirken
kod için teşekkürler ama sanırım başarılı olamadım. Gözden kaçırdğımız birşeyler var.
Re: webbrowser da açması gerekirken
Evet, farklı sayfada açılan linkleri yakalamak için OnNewWindow2 olayını kullanmalısınız. Ve bu olay içinde yeni açılacak sayfanın hangi WebBrowser'da görüneceğini belirtmelisiniz. İsterseniz formunuzda bulunan 2. bir webbrowser'ı kullanırsınız:
İsterseniz farklı bir form içinde bulunan bir webbrowser içinde görünmesini sağlarsınız:
Ama web browser'lardaki gibi yeni bir TAB açmak isterseniz o zaman brs'nin bir kısmını paylaştığı kod gibi birşey yapmalısınız. Her yeni tab açılışını aslında PageControl'ün bir tab'ı içinde yeni bir webbrowser ile yapabilirsiniz.
Bkz. Örnek.
Kod: Tümünü seç
procedure TForm1.WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
begin
ppDisp := WebBrowser2.DefaultInterface;
end;
Kod: Tümünü seç
procedure TForm1.WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
var
PopupForm: TForm1;
begin
PopupForm := TForm1.Create(Application);
PopupForm.Visible := True;
PopupForm.WebBrowser1.RegisterAsBrowser;
ppDisp := PopupForm.WebBrowser1.DefaultInterface;
end;
Bkz. Örnek.
There's no place like 127.0.0.1
Re: webbrowser da açması gerekirken
Bilgi için teşekkürler, evet yeni sekmede açmak istiyorum. Vermiş olduğunuz örnek linkini göremiyorum. Premium üyelik istiyor. Yinede emeğinize sağlık umarım bulurum.