Ĺadny brzuch
Witam...
Mam problemik, kiedyś napisałem nawet taki kod ale nie używałem delphi przez 2 miesiące i mi to wyleciało... :(
Mam komponent TPageControl i dynamicznie tworze nową zakładke z komponentem WebBrowser.
Powiedzmy że mamy już kilka zakładek z WebBrowser i teraz tak:
Mam przycisk który odświeża zawartosc webBrowser ale chciałbym żeby odświeżało
mi tylko tego WebBrowsera który jest na aktywnej zakładce... pomożecie?
Kompletnie mi to wyleciało z głowy... wiem że to proste było ale nie pamiętam :(
Błagam pomóżcie
Z góry THX
Można na przykład tak:
Tworzysz sobie kontrolki TWebBrowser tak aby ich rodzicem (Parent) był TabSheet czyli np.:
var TabSheet: TTabSheet; WebBrowser: TWebBrowser; i: integer; begin for i:= 0 to 4 do begin TabSheet:= TTabSheet.Create(PageControl1); TabSheet.Caption:= 'Zakladka ' + IntToStr(i); TabSheet.PageControl := PageControl1; WebBrowser:= TWebBrowser.Create(TabSheet); //to jest ważne TWinControl(WebBrowser).Parent:= TabSheet; //i to też WebBrowser.Align:= alClient; end; end;
A dalej to tylko trzeba znaleźć TWebBrowser na zakładce:
procedure TForm1.btnRefreshClick(Sender: TObject); var i: integer; begin for i:=0 to PageControl1.ActivePage.ControlCount - 1 do begin if PageControl1.ActivePage.Controls[i] is TWebBrowser then begin TWebBrowser(PageControl1.ActivePage.Controls[i]).Refresh; //możesz odwolywac sie do innych wlasciwosci break; //dalej nie szukamy end; end; end;
Jeżeli na TabSheet nie ma innych kontrolek to nie potrzebna jest ta pętla wystarczy po prostu:
TWebBrowser(PageControl1.ActivePage.Controls[0]).Refresh;
"TWebBrowser(PageControl1.ActivePage.Controls[0]).Refresh;"
Chodziło mi tylko o to ;)
Wielkie dzięki!!!
Temat do zamknięcia;
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Mam problemik, kiedyś napisałem nawet taki kod ale nie używałem delphi przez 2 miesiące i mi to wyleciało... :(
Mam komponent TPageControl i dynamicznie tworze nową zakładke z komponentem WebBrowser.
Powiedzmy że mamy już kilka zakładek z WebBrowser i teraz tak:
Mam przycisk który odświeża zawartosc webBrowser ale chciałbym żeby odświeżało
mi tylko tego WebBrowsera który jest na aktywnej zakładce... pomożecie?
Kompletnie mi to wyleciało z głowy... wiem że to proste było ale nie pamiętam :(
Błagam pomóżcie
Z góry THX
Można na przykład tak:
Tworzysz sobie kontrolki TWebBrowser tak aby ich rodzicem (Parent) był TabSheet czyli np.:
var TabSheet: TTabSheet; WebBrowser: TWebBrowser; i: integer; begin for i:= 0 to 4 do begin TabSheet:= TTabSheet.Create(PageControl1); TabSheet.Caption:= 'Zakladka ' + IntToStr(i); TabSheet.PageControl := PageControl1; WebBrowser:= TWebBrowser.Create(TabSheet); //to jest ważne TWinControl(WebBrowser).Parent:= TabSheet; //i to też WebBrowser.Align:= alClient; end; end;
A dalej to tylko trzeba znaleźć TWebBrowser na zakładce:
procedure TForm1.btnRefreshClick(Sender: TObject); var i: integer; begin for i:=0 to PageControl1.ActivePage.ControlCount - 1 do begin if PageControl1.ActivePage.Controls[i] is TWebBrowser then begin TWebBrowser(PageControl1.ActivePage.Controls[i]).Refresh; //możesz odwolywac sie do innych wlasciwosci break; //dalej nie szukamy end; end; end;
Jeżeli na TabSheet nie ma innych kontrolek to nie potrzebna jest ta pętla wystarczy po prostu:
TWebBrowser(PageControl1.ActivePage.Controls[0]).Refresh;
"TWebBrowser(PageControl1.ActivePage.Controls[0]).Refresh;"
Chodziło mi tylko o to ;)
Wielkie dzięki!!!
Temat do zamknięcia;