Przyciski odnoszące się do aktywnego...

0

Mam taką procedyske ktora w onnewindow2 webbrowsera dodaje zakładke do Pagecontrol z dynamicznym webbrowserwem.I mam pzycisk powiecmy odśwież.I jak teraz zrobic ze jesli mam 2 webbrowsery pzycisk odnowił sie do akrywnego czyli tego ktory w danej chwili widzi na ekranie.

{procedurka onnwewindow thx dla artfir}
procedure TForm1.IpzeglNewWindow2(Sender: TObject; var ppDisp: IDispatch;
var Cancel: WordBool);
var
strona : TTabSheet;
Browser : TWebBrowser;
begin
strona:= TTabSheet.Create(self);
strona.PageControl:=wwwinwww;
browser:=TWebBrowser.Create(self);
strona.Caption:=browser.LocationName;
browser.Align:=alclient;
browser.FullScreen:=True;
browser.Width:=1001; browser.Height:=537;
browser.ParentWindow:=strona.Handle;
browser.Align:=alClient;
browser.OnNewWindow2:=ipzeglNewWindow2;
ppDisp:=browser.Application;

0

dodaj zmienna
var
cofnij : TButton;

i w kodzie dla powyzszej funkcji:
cofnij:=TButton.Create(self);
cofnij.Caption:='

0

wiem ale to tzeba kazdy pzycisk po kolei robić.i to będzie głupio wyglądać.Zobaczcie screna z CrazyBrowsera o coś takiego mi chodzi

user image

0

Zrób klasę dziedziczącą po TTabSheet i tworzącą w constructorze formę (taką jak MDIChild, po prostu usuń ją z listy auto-create) na swojej powieszchni. Jak nie umiesz, to poszukaj, jest chyba na 4p artykuł o zaawansowanym programowaniu obiektowym.

Albo się naucz tego anglika i naciśnij F1. :p

0

mozesz bardziej wytlomaczyc.Jakis pzykład krotki

0

procedure TForm1.Button2Click(Sender: TObject);
begin
(www.ActivePage.Componentsnents[0] as TWebBrowser).GoBack;
end;

Właściwie to to powinno wystarczyć (na 99% działa).

0

Wyskakoje błąd :( Moze dać tam jedynke ) a błąd to

List index out of bounds (0)

0

Problem jest w tym, że komponent nie jest zarejestrowany na zakładce. Podaj kod, jakim dodajesz zakładkę.

Dopisane: ten kod znalazłem u góry:

 browser:=TWebBrowser.Create(self);
zamień na:
 browser:=TWebBrowser.Create(strona);

0

To owszem działa ale tylko w zakładce stworzonej dynamicznie.A w tej normalnej znowu ten sam błąd

Kurcze pomocy

0

Jeśli na nowej zakładce ma znajdować sie tylko TWebBrowser to to:

(www.ActivePage.Componentsnents[0] as TWebBrowser).GoBack;

działa na pewno zakładajac, ze zrobiłeś tak:

browser:=TWebBrowser.Create(self);
zamień na:
browser:=TWebBrowser.Create(strona);

Ale na wszelki wypadek zrób if'a:

with PageControl.ActivePage do
if Components[0] is TWebBrowser then
(Components[0] as TWebBrowser).GoBack;

albo lepiej petelke:

var
Nr: integer;

begin

with PageControl.ActivePage do
for Nr := 0 to CompoentCount -1 do
if Components[i] is TWebBrowser then
(Components[i] as TWebBrowser).GoBack;

end;

Jak to ci nie działa to z pewnością robisz coś nie tak.

0

Ja mowie ze to działa.Ale działa tylko w dynamicznie stwozonym webbrowserku.Moze dlatego ze moj ma inną nazwe ale to nic nie powinno byc

1 użytkowników online, w tym zalogowanych: 0, gości: 1