-
Voici la dernière
feuille à compléter: F_interface. Nous
allons d'abord lui ajouter une procédure de type
FORM_LOAD afin d'initialiser la page de départ.
Private Sub Form_Load()
Page_départ = "http:\\www.esls.net"
'Adresse par défaut pour la page web
'Chargement de la page (trim enlève les espaces au début et à la fin)
Nav_1.Navigate Trim(Page_départ)
BP_1.Visible = False
'Cache la barre de progression
End Sub
-
Nous allons lui
ajoute les procédure en rapport avec le navigateur.
'Procédure précédant
la navigation elle-même
Private Sub Nav_1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant,
-->
Flags As Variant, TargetFrameName As Variant, PostData As Variant, Headers-->
As Variant, Cancel As Boolean)
'Affichage d'un message dans la barre d'état
MDI_Navigateur.BE_1(1).SimpleText = "Recherche et chargement ..."
'Affichage du
sablier comme pointeur de souris
Screen.MousePointer = vbHourglass
End Sub
'Procédure quand le chargement
commence
Private Sub Nav_1_DownloadBegin()
BP_1.Visible = True 'Barre de progression visible
'Affichage d'un message dans la barre d'état
MDI_Navigateur.BE_1(1).SimpleText = "Recherche et chargement ..."
'Affichage du
sablier comme pointeur de souris
Screen.MousePointer = vbHourglass
End Sub
'Procédure quand le chargement
est complété
Private Sub Nav_1_DownloadComplete()
'Affichage d'un message dans la barre d'état
MDI_Navigateur.BE_1(1).SimpleText = "Chargement complété"
Screen.MousePointer = vbDefault
'Retour du pointeur par défaut
V_item = CO_1.ListCount
'Initialisation de V_item au nombre d'éléments de la liste
If Nav_1.LocationURL <> V_chaine Then 'Si
la page est différente de V_Chaine
CO_1.List(V_item) = Nav_1.LocationURL
'Inscription de l'adresse dans la liste
End If
V_chaine = Nav_1.LocationURL 'Initialisation
de V_Chaine
CO_1.Text = Nav_1.LocationURL 'Inscription
de l'adresse dans la barre d'adresses
BP_1.Visible = False
'Barre de progression invisible
End Sub
'Quand on quitte le navigateur
Private Sub Nav_1_OnQuit()
Unload F_Interface
'Déchargement de la feuille
End 'Fin du programme
End Sub
'Afficher l'état du
chargement de la page
Private Sub Nav_1_ProgressChange(ByVal Progress As Long, ByVal-->
ProgressMax As Long)
On Error Resume Next 'Passer
à l'instruction suivante en cas d'erreur
BP_1.Max = ProgressMax
'Initialisation du maximum de la barre de progression
BP_1.Value = Progress
'Initialisation de la valeur de la barre de progression
End Sub
'Changement du titre de la fenêtre
Private Sub Nav_1_TitleChange(ByVal Text As String)
F_Interface.Caption = Text 'Changement
du CAPTION de F_interface. Celui-ci -->
s'écrit à côté de celui de MDI_Navigateur
End Sub
-
Les prochaines
procédures serviront à réagir aux événements qui
surviennent dans le combo CO_1.
'Chargement de la page
sélectionnée quand on clique sur Co_1
Private Sub CO_1_Click()
Dim V_adresse As String
'Déclaration de variable
V_adresse = CO_1.Text 'Initialisation
de variable
F_Interface.CO_1.Text = V_adresse
'initialisation de la propriété TEXT de CO_1
F_Interface.Nav_1.Navigate V_adresse
'Ouverture de la page
End Sub
'Chargement de la page
quand on presse Entrée
Private Sub CO_1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
'Si la touche pressée est Entrée
Call BO_Va_Click 'Appeler
la procédure BO_VA_Click
End If
End Sub
-
La procédure
précédente fait appel à BO_Va_Click. Nous allons
donc placer cette procédure dans le bouton du même nom.
Private Sub BO_Va_Click()
If (CO_1.Text = "") Then
'Si la zone est vide
MsgBox "Adresse invalide..Essayez à nouveau.", vbCritical,
-->
"ADRESSE INVALIDE" 'Message
d'erreur
Nav_1.Navigate "about:blank"
'Affiche une page vide dans le navigateur
CO_1.Text = "" 'Vide
le texte de la liste
CO_1.SetFocus
'Redonne le focus à la liste
Else
'Sinon
Nav_1.Navigate Trim(CO_1.Text)
'Affiche la page désirée
End If
End Sub
-
Plus qu'une
procédure et l'application sera terminée. Celle-ci est
intégrée dans la barre d'outils OU_1.
Private Sub OU_1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
'Sélection en fonction de l'index du bouton cliqué
Case 1
On Error GoTo Erreur
'Capture d'erreur
Nav_1.GoBack
'Passer à la page précédente
Erreur:
If err.Number = 80004005 Then
'Procédure de traitement d'erreur
err.Clear
End If
Case 2
On Error GoTo Erreur1
'Capture d'erreur
Nav_1.GoForward
'Passer à la page suivante
Erreur1:
If err.Number = 80004005 Then
'Procédure de traitement d'erreur
err.Clear
End If
Case 3
Nav_1.Stop
'Arrêt du téléchargement
Case 4
Nav_1.Refresh
'Rafraîchissement de la page
Case 5
On Error GoTo err
'Capture d'erreur
F_Interface.Nav_1.GoHome
'Retour à la page d'accueil
err:
err.Clear
'Vide la variable Err
Case 6
Nav_1.SetFocus
'Donne le focus au navigateur
F_Interface.Nav_1.ExecWB
OLECMDID_SELECTALL,-->
OLECMDEXECOPT_PROMPTUSER
'Tout sélectionner
Case 7
Nav_1.Navigate
"http:\\www.toile.qc.ca"
'Recherche sur la toile du Québec
Case 8
F_Html.Show
'Montrer la source de la page
Case 9
'Utilisation d'Outlook pour lire les messages
Shell "C:\Program Files\Outlook Express\MSIMN.EXE", vbNormalFocus
Case 10
F_EnvoiCourriel.Show
'Envoyer un courriel par la feuille intégrée
Case 11
Dim V_Ip As String
'Déclaration de variable
V_Ip = F_Interface.Winsock1.LocalIP
'Lire l'adresse IP
F_Interface.ZT_Informations.Text = "Adresse IP: " & V_Ip
'Afficher l'adresse IP
Case 12
Dim V_nom As String
'Déclaration de variable
V_nom = Winsock1.LocalHostName
'Lire le nom de l'ordinateur
F_Interface.ZT_Informations.Text = "Nom du PC: " & V_nom
'Afficher le-->
nom de l'ordinateur
Case 13
Affiche_Liens
'Appel de la procédure permettant d'afficher les liens
Case 14
Shell ("rundll32.exe shell32.dll,Control_RunDLL
inetcpl.cpl,,0")
'Affiche la -->
fenêtre des
propriétés
Case 15
Sortie
'Appel de la procédure de sortie
End Select
End Sub
-
Voilà qui complète
la création de votre navigateur. Sauvegardez le tout et
testez votre programme. Apportez les corrections
nécessaires, s'il y a lieu.
Application:
- Que diriez-vous d'ajouter votre
chat comme option au navigateur. On doit pouvoir y
accéder par l'intermédiaire du menu ou d'un bouton.
Diminuez les zones de texte au besoin.
Sauvegardez le nouveau programme sous le nom Ex_27bxx.vbp.
|