Les bulles d’aide qui s’ouvrent automatiquement au passage du curseur de la souris sont très pratiques. Elles indiquent aux utilisateurs quelles sont les fonctions associées aux boutons. Il est possible d’aller encore plus loin et de fournir des explications plus approfondies sur l’utilisation de ces boutons dans la barre d’état. Cela tout en gardant un texte bref dans la bulle d’aide. L’exemple décrit dans le listing ci-dessous montre comment synchroniser la bulle d’aide avec la barre d’état et faire apparaître les deux textes au survol de la souris. Pour le vérifier, créez un projet exécutable et, sur le formulaire Form1, créé par défaut, placez une barre d’outils et une barre d’état. Si ces composants n’apparaissent pas dans votre barre d’outils, choisissez la commande ProjetComposants, cliquez sur l’onglet Contrôles, et cochez la case [microsoft Windows Common Controls 5.0] (ou 6.0, selon votre version de Visual Basic). Effectuez ensuite un clic droit sur la barre d’outils, choisissez Propriétés dans le menu contextuel, puis sélectionnez l’onglet Boutons. Cliquez sur le bouton [insérer un bouton]. Saisissez le texte Ouvrir un fichier dans la zone Tag et Ouvrir dans la zone ToolTipText. Validez en cliquant sur [ok]. Choisissez la commande Affichage/Code afin d’ouvrir la page de code et saisissez le listing ci-dessous. Lancez l’exécution par
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
StatusBar1.Panels(1).Text = “”
End Sub
Private Sub Toolbar1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim Found As Boolean
Dim ToolBarButton As Variant
Dim Index As Long
For Index = 1 To Toolbar1.Buttons.Count
Set ToolBarButton = Toolbar1.Buttons(Index)
If (x > ToolBarButton.Left) And _
(x < (ToolBarButton.Left + ToolBarButton.Width)) And _
(y > ToolBarButton.Top) And _
(y < (ToolBarButton.Top + ToolBarButton.Height)) Then
If StatusBar1.Panels(1).Text <> ToolBarButton.Tag Then
StatusBar1.Panels(1).Text = ToolBarButton.Tag
End If
Found = True
Exit For
End If
Next
If Not Found Then
StatusBar1.Panels(1).Text = “”
End If
End Sub
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.