Fórum Evento OnNewWindow2 do TWebBrowser (Sério!) #214978
17/02/2004
0
Tenho um código que faz com que uma nova janela seja sempre aberta em meu próprio browser através de novas Tabs criadas por um PageControl (como no Ópera e no Netscape novo), pois aqui na firma os formulário em ASP da rede precisam ser lidos por este browser que fiz usando o TWebBrowser por causa de algumas funções extras. Aí vem o problema: os botões de voltar/ir/avançar/parar/atualizar... e as funções do browser ligadas ao componente TWebBrowser só funcionam para o 1º documento aberto. Veja o código:
Var
NewTab : TSeCustomTabSheet; //==Este é o Page Control (novas Tabs são criadas)
MyWEB : TWebBrowser; //==Este é o Browser (novas páginas criadas dentro das páginas criadas no Page Control)
begin
NewTab := TSECUSTOMTabSheet.Create(Self);
NewTab.TabControl := PageControlBrowser;
NewTab.Caption := ´Link Aberto nº´+IntToStr(PageControlBrowser.PageCount);
// Acima, na verdade, eu queria o título da página...
inc(HistoryIndex);
NewTab.Name:=´TabPage_´+IntToStr(HistoryIndex);
NewTab.Tag:= HistoryIndex;
PageControlBrowser.ActivePage := NewTab;
MyWEB:= TWebbrowser.Create(Self);
TControl(MyWEB).Parent := NewTab;
// A partir daqui o novo TWebBrowser recebe as propriedades do antigo...
MyWEB.HandleNeeded;
MyWEB.OnNewWindow2 := Webbrowser1.OnNewWindow2;
MyWEB.OnBeforeNavigate2 := WebBrowser1.OnBeforeNavigate2;
MyWEB.OnCommandStateChange := WebBrowser1.OnCommandStateChange;
MyWeb.OnDownloadComplete:=WebBrowser1.OnDownloadComplete;
MyWeb.OnDocumentComplete:=WebBrowser1.OnDocumentComplete;
Myweb.OnDownloadBegin:=WebBrowser1.OnDownloadBegin;
Myweb.OnEnter:=WebBrowser1.OnEnter;
myweb.OnExit:=WebBrowser1.OnExit;
myweb.OnProgressChange:=WebBrowser1.OnProgressChange;
myweb.OnStatusTextChange:=WebBrowser1.OnStatusTextChange;
myweb.OnTitleChange:=WebBrowser1.OnTitleChange;
MyWEB.Align:=alClient;
MyWEB.Visible := True;
ppdisp := MyWEB.Application;
end;
Entende na verdade qual é o meu problema? O quanto antes me ajudarem, melhor, ok?
Obrigado!
Stutz
Curtir tópico
+ 0Posts
19/02/2004
Stutz
Gostei + 0
20/02/2004
Stutz
ProgressMax: Integer);
begin
if Progress > 0 then begin
SeSkinProgressBar1.Max := ProgressMax;
SeSkinProgressBar1.Position := Progress;
end else
SeSkinProgressBar1.Position := 0;
end;
Vejam se isso ajuda...
Gostei + 0
20/02/2004
Stutz
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)