OVH Cloud OVH Cloud

déplacer image

4 réponses
Avatar
debdrai
Bonjour,

Je voudrais pouvoir "trainer" une image (la déplacer) contenue dans un
sous-formulaire en cliquant dessus. J'utilise pour ça les évenements
MouseDown, MouseMove et MouseUp. Je sais comment le faire en VB, mais
je n'arrive pas à trouver l'évènement de déplacement en VBA.

Une idée ?

Merci d'avance. Deb

4 réponses

Avatar
3stone
Salut,

"La p'tite Deb"
Je voudrais pouvoir "trainer" une image (la déplacer) contenue dans un
sous-formulaire en cliquant dessus. J'utilise pour ça les évenements
MouseDown, MouseMove et MouseUp. Je sais comment le faire en VB, mais
je n'arrive pas à trouver l'évènement de déplacement en VBA.


Il faut déplacer le contrôle "image" en modifiant le Top et Left


--
A+
Pierre (3stone) Access MVP
-------------------------------------------------------
Bien démarrer ? c'est ici http://users.skynet.be/mpfa/
( Je ne réponds pas aux emails qui concernent Access )
-------------------------------------------------------
Avatar
debdrai
Salut "3stone"

Merci beaucoup de ta réponse. Ça m'a fait avancer mais y'a encore un
bogue: quand je clique, l'image se déplace de façon aléatoire et
m'affiche de plus systématiquement une boite d'erreur qui me dit que
mon controle ou mon formulaire est trop grand... Une idée ? Voici mon
code (qui me semble un peu bizarre, soit dit en passant).

Private Sub MNTimg_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If Button = acLeftButton Then
blnVerif = True
X1 = X
Y1 = Y
Else
blnVerif = False
End If
End Sub
Private Sub MNTimg_MouseUp(Button As Integer, Shift As Integer, X As
Single, Y As Single)

X2 = X
Y2 = Y

End Sub
Private Sub MNTimg_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)

If blnVerif = True Then
MNTimg.OnMouseMove = X2
MNTimg.Top = Y2
End If

End Sub

Merci encore. Deb

"3stone" wrote in message news:<3fb37818$0$3228$...
Salut,

"La p'tite Deb"
Je voudrais pouvoir "trainer" une image (la déplacer) contenue dans un
sous-formulaire en cliquant dessus. J'utilise pour ça les évenements
MouseDown, MouseMove et MouseUp. Je sais comment le faire en VB, mais
je n'arrive pas à trouver l'évènement de déplacement en VBA.


Il faut déplacer le contrôle "image" en modifiant le Top et Left


Avatar
debdrai
Oups, petite erreur, le dernier code est:

Private Sub MNTimg_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)

If blnVerif = True Then
MNTimg.Left = X2
MNTimg.Top = Y2
End If

End Sub

"3stone" wrote in message news:<3fb37818$0$3228$...
Salut,

"La p'tite Deb"
Je voudrais pouvoir "trainer" une image (la déplacer) contenue dans un
sous-formulaire en cliquant dessus. J'utilise pour ça les évenements
MouseDown, MouseMove et MouseUp. Je sais comment le faire en VB, mais
je n'arrive pas à trouver l'évènement de déplacement en VBA.


Il faut déplacer le contrôle "image" en modifiant le Top et Left


Avatar
Raymond [mvp]
Bonsoir.

pour débuter tu peux utilsier cette fonction :

Private Sub objetOLE_MouseUp(Button As Integer, Shift As Integer, X As
Single, Y As Single)
On Error Resume Next
Me.objetOLE.Left = Me.objetOLE.Left + X
Me.objetOLE.Top = Me.objetOLE.Top + Y
End Sub

pour déplacer l'objet, tu positionnes le pointeur sur le coin gauche
supérieur, tu cliques sur la souris et tu maintiens le bouton enfoncé, tu
fais glisser le pointeur au nouvel emplacement et tu relaches le bouton.
l'objet doit venir se positionner au curseur de la souris.

Pour t'amuser tu remplaces la fonction ci-dessus par celle-ci:
Private Sub objetOLE_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
On Error Resume Next
Me.objetOLE.Left = Me.objetOLE.Left + X
Me.objetOLE.Top = Me.objetOLE.Top + Y
End Sub

tu fais glisser le pointeur comme ci-dessus.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour une meilleure
efficacité de tes interventions sur MPFA


"La p'tite Deb" a écrit dans le message de
news:
Oups, petite erreur, le dernier code est:

Private Sub MNTimg_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)

If blnVerif = True Then
MNTimg.Left = X2
MNTimg.Top = Y2
End If

End Sub