IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)



Comment afficher une page construite dans son application ?
auteur : Atlantis
Le protocole About vous permet d'envoyer une chaîne de caractères dans votre composant TWebBrowser. Très pratique ce protocole peut être utilisé pour construire des pages dans votre application et les afficher sans avoir à les enregistrer au préalable.
Exemple :

         procedure TMyForm.MyButtonClick(Sender: TObject);
         var
                 Flags, TargetFrameName, PostData, Headers: OleVariant;
                 sHTML: String;
         begin
                 sHTML := { votre code HTML };
                 MyWebBrowser.Navigate('about:' + sHTML, Flags, TargetFrameName, PostData, Headers);
         end;
        

Comment récupérer le contenu affiché dans mon objet TWebBrowser ?
auteur : Atlantis
Il est possible de récupérer le contenu au format HTML ou texte de la page affichée dans le TWebbrowser.

         //Pour récupérer le source HTML dans un TMemo : MyMemo.Text := MyWebBrowser.OleObject.Document.Body.InnerHTML;
        
         //Pour récupérer le texte du document dans un TMemo :
         MyMemo.Text := MyWebBrowser.OleObject.Document.Body.InnerText;

Comment lister les liens présents dans une page ?
auteur : Atlantis
Il est possible d'obtenir la liste des liens qui sont dans le document. La propriété Webbrowser.OleObject.Document.links.length vous indique le nombre de liens présents dans votre document et la propriété Webbrowser.OleObject.Document.links.item(i) contient les liens.
Exemple : Récupérer la liste des liens dans un TMemo :

         var
                 i : Integer;
        
         begin
                 for i:=0 to MyWebbrowser.OleObject.Document.Links.Length-1 do
                 begin
                         MyMemo.Lines.Add(MyWebbrowser.OleObject.Document.Links.Item(i));
                 end;
                
         end;

Comment déterminer le nombre de Frames dans la page ?
auteur : Atlantis
Certaines pages Web sont divisées en frames. Pour savoir le nombre de frames présentes dans vote navigateur il vous suffit d'interroger la propriété WebBrowser.OleObject.Document.frames.length .

         var
                 nombreframes: integer;
        
         begin
                 nombreframes := MyWebBrowser.OleObject.Document.Frames.Length;
         end;
        

Comment imprimer le document ?
auteur : Atlantis
Pour imprimer le document avec Internet Explorer 4 ou supérieur, vous devez utiliser la propriété ContolInterface pour accéder à l'interface du composant WebBrowser (Cette interface permet à un contrôleur Automation d'accéder aux propriétés, méthodes et événements du navigateur Web). Dans cet exemple, l'impression du document complet sera envoyée sans que la boite de dialogue d'impression n'apparaisse. Pour afficher la boite de dialogue il faut remplacer OLECMDEXECOPT_DONTPROMPTUSER par OLECMDEXECOPT_PROMPTUSER

         var
                 vaIn, vaOut: OleVariant;
         begin
                 MyWebBrowser.ControlInterface.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut);
         end;
        
Avec Internet Explorer 3, vous devez utiliser la méthode suivante

         procedure PrintIE;
         var
                 CmdTarget : IOleCommandTarget;
                 vaIn, vaOut: OleVariant;
         begin
                 if MyWebBrowser.Document <> nil then
                 try
                         MyWebBrowser.Document.QueryInterface(IOleCommandTarget, CmdTarget);
                         if CmdTarget <> nil then
                         try
                                 CmdTarget.Exec( PGuid(nil), OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, vaIn, vaOut);
                         finally
                                 CmdTarget.Release;
                         end;
                        
                 except
                         //Rien
                 end;
                
         end;
Note: Si vous utilisez Delphi 2 ou 3, vous devez remplacer PGuid(nil) par PGuid(nil)^

Comment annuler l'ouverture d'un popup ?
auteur : Atlantis
Lorsque vous intégrez dans votre application l'objet TWebBrowser pour naviguer sur Internet, il arrive souvent d'avoir des fenêtres Popup qui s'ouvrent automatiquement. Pour annuler l'ouverture d'Internet Explorer dans ce cas là, vous devez écrire une procédure pour l'évènement OnNewWindow2 de votre TWebBrowser pour affecter la valeur True à la variable Cancel.

         procedure TMyForm.MyWebBrowserNewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool);
         begin
                 Cancel := True;
         end;
        

Comment cacher les scrollbars ?
auteur : Atlantis
Selon la taille des pages affichées, les scroolbars apparaissent automatiquement.

         //Pour cacher les scrollbars :
         MyWebBrowser.OleObject.Document.Body.Style.OverflowX := 'hidden';
         MyWebBrowser.OleObject.Document.Body.Style.OverflowY := 'hidden';
        
         //Pour réafficher les scroolbars :
         MyWebBrowser.OleObject.Document.Body.Style.OverflowX := '';
         MyWebBrowser.OleObject.Document.Body.Style.OverflowY := '';


Ce document issu de www.developpez.com est soumis à la licence GNU FDL traduit en français ici
Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement.