Créer votre propre navigateur ? Y a-t-il une erreur ? Sans parler des géants comme IE, et même du compact Opera, la plupart d'entre nous, les gens ordinaires, ne seront jamais capables de le faire. Mais si la version professionnelle VB5.0 est installée sur votre ordinateur, les choses seront beaucoup plus faciles. Voulez-vous l'essayer ? Eh bien, allons-y !
Le protagoniste du programme est un contrôle ActiveX : WebBrowser. Bien sûr, il n'est pas inclus par défaut dans la boîte à outils VB. Nous devons l'ajouter manuellement. La méthode est la suivante : cliquez avec le bouton droit sur la boîte à outils, sélectionnez "Parties..." dans le menu contextuel qui apparaît et assurez-vous qu'il l'est. sélectionné dans la boîte de dialogue contextuelle, onglet "Contrôles", recherchez Microsoft Internet Controls, cochez la petite case en face, puis OK. À ce stade, vous trouverez deux autres petites icônes dans la boîte à outils. Parmi elles, le contrôle représenté par l'icône du globe est le navigateur Web dont nous avons besoin.
Étant donné que beaucoup de gens ne sont pas très familiers avec le contrôle WebBrowser et qu'il n'y a aucun contenu à ce sujet dans l'aide VB (je ne l'ai pas trouvé de toute façon), il est nécessaire de présenter ses propriétés, méthodes et événements. En raison du manque d'espace, nous couvrons uniquement ceux utilisés dans le programme de :
Propriété : LocationURL Renvoie l'URL de la page WEB affichée par le champ.
Méthode : accédez aux transferts vers l'URL spécifiée ou ouvrez le fichier HTML spécifié.
Événement : 1. DownloadBegin Se déclenche lorsque l'opération de téléchargement démarre.
2. DownloadComplete Se déclenche lorsqu'une opération de téléchargement se termine, se termine ou échoue.
3. Le contrôle ProgressChange WebBrowser suit la progression de l'opération de téléchargement et déclenche cet événement périodiquement. La syntaxe est la suivante : Sub WebBrowser_ProgressChange (ByVal Progress As Long, ByVal ProgressMax As Long). L'argument Progress correspond à la quantité totale de données actuellement téléchargées et l'argument ProgressMax correspond à la quantité totale de données à télécharger.
4. TitleChange est déclenché lorsque le titre du document actuel change.
En plus du contrôle WebBrowser, le programme a également besoin d'un contrôle Label : Label1 ; d'un contrôle ComboBox : combo1, utilisé pour afficher l'adresse URL ; d'un contrôle StatusBar : StatusBar1 ; d'un contrôle ProgressBar : ProgressBar1, utilisé pour afficher la progression du téléchargement (StatusBar Le contrôle ActiveX est membre des contrôles communs de Microsoft Windows 5.0. La méthode pour l'ajouter à la boîte à outils est la même que celle du contrôle WebBrowser). Les valeurs de propriété de ces contrôles utilisent les valeurs par défaut.
Voici la liste du programme :
| Option explicite Sous-formulaire privé_Load() Me.Caption="Mon Explorateur" Étiquette1.Caption = "URL" Combo1.Texte = "" Combo1.Top = Étiquette1.Hauteur Combo1.Gauche = 0 WebBrowser1.Top = Combo1.Top + Combo1.Hauteur WebBrowser1.Left = 0 Form_Resize StatusBar1.Style = sbrSimple ProgressBar1.Zorder Fin du sous-marin |
| Sous-formulaire privé_Resize() En cas d'erreur, allez à un Combo1.Width = Form1.Width - 100 WebBrowser1.Width = Combo1.Width WebBrowser1.Height = Form1.Height - Combo1.Height - 1000 ProgressBar1.Top = Me.Height - StatusBar1.Height - 330 ProgressBar1.Left = 0,25 * StatusBar1.Width ProgressBar1.Width = 0,75 * Me.Width - 250 un: Fin du sous-marin |
| Sous-privé Combo1_Click() `Aller à l'URL spécifiée WebBrowser1.Navigate Combo1.Text Fin du sous-marin Sous-Combo1_KeyDown privé (KeyCode en entier, Shift en entier) Dim I aussi longtemps Dim existait comme booléen Si KeyCode = 13 Alors Si Gauche(Combo1.Text, 7) <> "http://"Alors Combo1.Texte = "http://"+ Combo1.Texte Fin si WebBrowser1.Navigate Combo1.Text Pour I = 0 à Combo1.ListCount - 1 Si Combo1.List(I) = Combo1.Text Alors existait = Vrai Quitter pour Autre existait=Faux Fin si Suivant Si ça n'existait pas alors Combo1.AddItem (Combo1.Text) Fin si Fin si Fin du sous-marin |
| Sous-privé WebBrowser1_DownloadBegin() `Lorsque le téléchargement démarre, la barre d'état affiche "Now Linking..." StatusBar1.SimpleText = "Lien maintenant..." Fin du sous-marin |
| Sous-privé WebBrowser1_DownloadComplete() `Lorsque le téléchargement est terminé, la barre d'état affiche "Lien terminé". StatusBar1.SimpleText = "Lien terminé" ProgressBar1.Valeur = 0 Fin du sous-marin |
| Sous-privé WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax Tant) `La barre de progression change lorsque le téléchargement est en cours Si ProgressMax = 0 alors quittez Sub ProgressBar1.Max = ProgressMax Si Progress <> -1 Et Progress <= ProgressMax Alors ProgressBar1.Value = Progression Fin si Fin du sous-marin |
| Sous-privé WebBrowser1_TitleChange (texte ByVal sous forme de chaîne) Combo1.Text = WebBrowser1.LocationURL Fin du sous-marin |