Salut linkinpar236737
Pour savoir si la souris a son bouton enfoncé, il faut mémoriser cet état dans le MouseDown.
Je te propose ces quelques lignes. A toi de les comprendre et de les améliorer :
Private Type SourisPositionType
X As Long
Y As Long
End Type
Dim SourisPosition As SourisPositionType
Dim SourisDown As Boolean
'
Private Sub Form_Load()
' La forme récupère les évenements avant les composants
Me.KeyPreview = True
' Echelle en twips
Me.ScaleMode = vbTwips
End Sub
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
' Si le click gauche est appuyé, on mémorise la position
If Not SourisDown And Button And vbLeftButton Then
SourisPosition.X = X
SourisPosition.Y = Y
SourisDown = True
End If
End Sub
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
' Annule la mémoire
SourisDown = False
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
' La souris se déplace : On ressort si le click n'est pas enfoncé
If Not SourisDown Then Exit Sub
' Calcule le rayon par rapport au début
Dim Rayon As Single
Rayon = Abs(X - SourisPosition.X)
' On va dessiner à partir de la position mémorisée lors du click
Me.Circle (SourisPosition.X, SourisPosition.Y), Rayon
End Sub
Vous zètes pas gatés sur vbfrance, hein ?
Vala
Jack