Déplacer les controls de sa form avec la souris

Soyez le premier à donner votre avis sur cette source.

Vue 7 514 fois - Téléchargée 858 fois

Description

Un code pour bouger les controls de la form avec la souris.
Ca peut être utile pour la réalisation d'un jeu de puzzle, par exemple.

Source / Exemple :


Dim vary As Integer
Dim varx As Integer
Dim MouseDown As Boolean
Dim cliquex As Integer
Dim cliquey As Integer
 

'si on déplace la souris sur la feuille
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'On récupere les coordonnées X et Y de la souris sur la feuille et on les stockes
varx = X
vary = Y
'on affiche les coordonnées
Text1.Text = varx
Text2.Text = vary
End Sub

'vérifie que le bouton de la souris est enfoncé sur label1
Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
MouseDown = True
'on stocke la position où l'on a cliqué sur le control
cliquex = X
cliquey = Y
End Sub
'vérifie si le bouton de la souris est relaché sur label1
Private Sub label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
MouseDown = False
End Sub

'si on déplace la souris sur label1
Private Sub label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'les coordonées de la souris sur la feuille sont
'coordonnées de label1 sur la form+coordonnées de la position de la souris sur label1
varx = Label1.Left + X
vary = Label1.Top + Y
Text1.Text = varx
Text2.Text = vary
'si on enfonce le bouton de la souris
If MouseDown = True Then
'on met le controle label1 à l'endroit où est la souris, moins la position où on a cliqué
Label1.Top = vary - cliquey
Label1.Left = varx - cliquex
End If
End Sub

Private Sub Text1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'calcul de la position de la souris sur la form si on passe sur text1
varx = Text1.Left + X
vary = Text1.Top + Y
Text1.Text = varx
Text2.Text = vary
End Sub

Private Sub Text2_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'calcul de la position de la souris sur la form si on passe sur text2
varx = Text1.Left + X
vary = Text1.Top + Y
Text1.Text = varx
Text2.Text = vary
End Sub

Conclusion :


Merci à http://www.vbfrance.com/codes/TROUVER-POSITION-SOURIS-CODE-SIMPLE_99.aspx

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Bodon
Messages postés
2
Date d'inscription
lundi 11 octobre 2004
Statut
Membre
Dernière intervention
10 septembre 2008
-
C'est pile-poil ce que je cherchais. Merci !
hackalexandres32
Messages postés
37
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
3 novembre 2008
1 -
moi j'aime bien!
alcania
Messages postés
19
Date d'inscription
samedi 3 mai 2003
Statut
Membre
Dernière intervention
19 mars 2009
-
j'ai fait aussi une recherche et le seul code qui me convient est le tiens, donc pour ma part, niquel et merci
cs_trotter
Messages postés
16
Date d'inscription
mardi 21 décembre 2004
Statut
Membre
Dernière intervention
24 mars 2009
-
Ah, j'avais fait une recherche pourtant.
Tant pis.
Et puis ca n'avait évidemment pas la prétention de révolutionner quoique ce soit :o)
cs_Willi
Messages postés
2377
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
16 -
Déjà vu des dizaines de fois sur le site....Rien de bien nouveau ni d'originale.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.