Tutoriel : Événements Souris

page 16 : Solution de l'exercice :

Voici le code de la procédure Form_MouseMove :

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 Then
        If X >= lblBonjour.Left And X <= (lblBonjour.Left + lblBonjour.Width) _
          And Y >= lblBonjour.Top And Y <= (lblBonjour.Top + lblBonjour.Height) Then
            lblBonjour.ForeColor = vbYellow
        Else
            lblBonjour.ForeColor = vbBlack
        End If
    Else
        lblBonjour.ForeColor = vbBlack
    End If
End Sub

En gros, voici l'explication de cette procédure.

La première structure If... Then... Else :
Si le bouton gauche est enfoncé, alors
   la deuxième structure If... Then... entre en action.
Sinon,
   l'étiquette Bonjour doit être noire.
Fin de la structure.

La deuxième structure If... Then... Else :
Si le pointeur est à l'intérieur des limites de l'étiquette, alors
   le mot Bonjour est jaune.
Sinon,
   le mot Bonjour est noir.
Fin de la structure.

Nous aurions pu aussi déclarer quatre variables.

    Dim X1 As Integer, X2 As Integer, Y1 As Integer, Y2 As Integer

Et leur attribuer les valeurs suivantes :

    X1 = lblBonjour.Left
    X2 = lblBonjour.left + lblBonjour.Width
    Y1 = lblBonjour.Top
    Y2 = lblBonjour.Top + lblBonjour.Height

Pour ensuite poser les conditions suivantes dans la deuxième structure If... Then... Else.

    If X >= X1 And X <= X2 And Y > Y1 And Y <= Y2 Then
        ...

Page précédente - Fermer cette fenêtre