Comment annuler l'ouverture d'un popup avec le TWebBrowser ?

Résolu
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007 - 20 janv. 2005 à 20:34
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007 - 24 janv. 2005 à 13:09
Salut à tous,
Voila je voudrais savoir comment on peut annuler l'ouverture d'un popup avec le TWebBrowser ?
Donc je connais déjà cette source :

Code:
,
----

procedure TMyForm.MyWebBrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
begin
Cancel := True;
end;
C’est vraiment bien comme source mais quand tu veux ouvrir une autre fenêtre de la page ça ne marche pas car tu annule l'ouverture de toute les page même celle qui ne sont pas de pupup's.
Quelqu'un à une autre méthode ?
Merci d’avance.

Mon Site Web : http://Www.BenXbox.Fr.sT

7 réponses

BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
24 janv. 2005 à 13:09
J'ai trouver ce bout de code qui marche mais sa créer des TabSheet, et moi il faut juste virer le popup : <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;


  var ppDisp: IDispatch; var Cancel: WordBool);


begin


  memo1.Lines.add('WebBrowser1NewWindow2');


  TabSheet := TTabSheet.Create(Owner);


  TabSheet.PageControl := PageControl1;


  Webbrowser2 := TCustomBrowser.Create(Owner);


  TWinControl(Webbrowser2).Parent := TabSheet;


  with Webbrowser2 Do


  begin


    Align := AlClient;


    ppDisp := WebBrowser2.Application;


    OnBeforeNavigate2     := WebBrowser1.OnBeforeNavigate2;


    OnCommandStateChange  := WebBrowser1.OnCommandStateChange;


    OnDocumentComplete    := WebBrowser1.OnDocumentComplete;


    OnDownloadBegin       := WebBrowser1.OnDownloadBegin;


    OnDownloadComplete    := WebBrowser1.OnDownloadComplete;


    OnDragDrop            := WebBrowser1.OnDragDrop;


    OnDragOver            := WebBrowser1.OnDragOver;


    OnEndDrag             := WebBrowser1.OnEndDrag;


    OnEnter               := WebBrowser1.OnEnter;


    OnExit                := WebBrowser1.OnExit;


    OnFullScreen          := WebBrowser1.OnFullScreen;


    OnMenuBar             := WebBrowser1.OnMenuBar;


    OnNavigateComplete2   := WebBrowser1.OnNavigateComplete2;


    OnNewWindow2          := WebBrowser1.OnNewWindow2;


    OnProgressChange      := WebBrowser1.OnProgressChange;


    OnPropertyChange      := WebBrowser1.OnPropertyChange;


    OnQuit                := WebBrowser1.OnQuit;


    OnStartDrag           := WebBrowser1.OnStartDrag;


    OnStatusBar           := WebBrowser1.OnStatusBar;


    OnStatusTextChange    := WebBrowser1.OnStatusTextChange;


    OnTheaterMode         := WebBrowser1.OnTheaterMode;


    OnToolBar             := WebBrowser1.OnToolBar;


    OnVisible             := WebBrowser1.OnVisible;


  end;


  PageControl1.ActivePageIndex := PageControl1.PageCount - 1;


end;



Mon Site Web : http://Www.BenXbox.Fr.sT
3
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
21 janv. 2005 à 12:11
Salut jmp77,
Déjà merci d'avoir chercher pour m'aider.
Sinon le premier lien à aucun rapport avec ce que je recherche, pour le deuxiemme liens c'est pas ce que je recherche aussi, car cette source ne bloque pas les popups mais les ouvres dans une autre page.


Mon Site Web : http://Www.BenXbox.Fr.sT
0
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
21 janv. 2005 à 12:54
Non c'est pas du tout ce que je recherche, mais merci comme meme.

Mon Site Web : http://Www.BenXbox.Fr.sT
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Modérateur Dernière intervention 18 novembre 2010 14
21 janv. 2005 à 15:35
Perso j'ai trouvé ça :



procedure TForm1.BrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch;, ----
var Cancel: WordBool);, ----
begin, ----
if KillPopUps then ppDisp:=BrowserDummy;, ----
end;



le KillPopups peut etre une Checkbox cochée ou non. le BrowserDummy surement un TWebBrowser posé sur un panel caché ? a voir !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
21 janv. 2005 à 15:53
Ta trouver ou cette source parce que j'ai pas les var de KillPopUps et BrowserDummy pour essayer.

Mon Site Web : http://Www.BenXbox.Fr.sT
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Modérateur Dernière intervention 18 novembre 2010 14
22 janv. 2005 à 21:25
j'ai dit :

"le KillPopups peut etre une Checkbox cochée ou non. le BrowserDummy surement un TWebBrowser posé sur un panel caché ? a voir !"



donc KillPopups est une var booleenne qui contient la valeur de la cache cochée, tu peux aussi faire :




procedure TForm1.BrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch;
, ----
var Cancel: WordBool);
, ----
begin, ----
if CheckBox1.Checked then ppDisp:=WebBrowser2;

, ----
end;



WebBrowser2 est un TWebBrowser posé sur un TPanel, et le TPanel a sa prop. "visible" sur False;



voila tu as tes reponses
0
BenXbox Messages postés 210 Date d'inscription mercredi 5 juin 2002 Statut Membre Dernière intervention 14 août 2007
22 janv. 2005 à 21:41
Oui mais non c'est le meme probleme que :

Code:
,
----

procedure TMyForm.MyWebBrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
begin
Cancel := True;
end;
C’est vraiment bien comme source mais quand tu veux ouvrir une autre fenêtre de la page ça ne marche pas car tu annule l'ouverture de toute les page même celle qui ne sont pas de pupup's.


Mon Site Web : http://Www.BenXbox.Fr.sT
0