Deplacement PictureBox [Résolu]

Signaler
Messages postés
62
Date d'inscription
jeudi 12 avril 2001
Statut
Membre
Dernière intervention
25 septembre 2007
-
 Utilisateur anonyme -
Bonjour

q'qun aurait t'il le code complet ca fait 4 H que je suis dessus et je n'arrive pas a le faire fonctionner, ma picturebox disparait des que je passe la souris dessus

Merci pour la reponse

Picture1_MouseMove (...)

if INT_X <> X then

Picture1.left = picture1.left + (X - int_X)

end if

if INT_Y <> Y then

Picture1.top = picture1.top + (Y - int_Y)

end if

int_X = X
int_Y = Y

end sub

9 réponses

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
27
Salut,

il faut tester le bouton pour savoir à quel moment on déplace,

et à quel moment on arrête.





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

If Button = 1 Then

Picture1.Left = Picture1.Left + (X - int_X)

Picture1.Top = Picture1.Top + (Y - int_Y)

Else

int_X = X

int_Y = Y

End If

End Sub


Daniel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 123 internautes nous ont dit merci ce mois-ci


Private Sub Form_Load()

Me.KeyPreview = True

End Sub



Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

With Picture1

Select Case KeyCode

Case
vbKeyUp: .Top = .Top - 200

Case vbKeyDown: .Top = .Top + 200

Case vbKeyLeft: .Left = .Left - 200

Case vbKeyRight: .Left = .Left + 200

End Select

End With

End Sub
Messages postés
62
Date d'inscription
jeudi 12 avril 2001
Statut
Membre
Dernière intervention
25 septembre 2007

Bonjour

Le code de 278023 Gobillot (Daniel) fonctionne un petit peu je peut bouger la PictureBox de 1 Cm et aussitot elle disparait pourquoi ?

par contre le code de =608437 blinix123 ne fonctionne pas du tout

pour résumé je voudrais déplacer ma PictureBox ou je veut dans ma Form

precision : ma PictureBox a une image chargé en memoire .Si vous avez encore la patiente de m'aider je suis preneur
Merci
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
27
Salut,

tu dois devoir bouger partout et même en dehors de la forme.

vérifie que le scalemode de la forme et celui de la picturebox soit de la même unité.

Daniel
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
27
Remarque,


si les unités sont en Twips, et la PictureBox en pixels, ça va bouger
quand même mais très lentement. si c'est l'inverse ça va bouger
beaucoup trop vite.


ou alors faut convertir les unités.




une autre méthode qui utile les API:remplace Form_MouseMove par Picture1_MouseMove

Daniel
Messages postés
62
Date d'inscription
jeudi 12 avril 2001
Statut
Membre
Dernière intervention
25 septembre 2007

Salut Daniel

J'ai fait le test sur une feuille vierge ca fonctionne et sur la mienne ca fonctionne pas et il me demande de declare les variables int_X et int_Y,dans ma feuille j'ai des declarations deja ca viendrais pas de la ?


Dim texte As String
Dim Lg As Integer
Dim max As Integer
Dim i As Integer
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
27
variables pas déclarées hum c'est pas bon !!

doit manquer option explicit

le mieux c'est de les déclarer en Single.

si pas option explicit, et pas déclarées, elles sont prises en Variant,

et ....

le probléme, c'est quelles sont prises en locale,

donc elles perdent leur valeur, et ça donne des résultats bizarre.



Option Explicit



Dim int_x As Single

Dim int_y As Single

Dim texte As String

Dim Lg As Integer

Dim max As Integer

Dim i As Integer


Daniel
Messages postés
62
Date d'inscription
jeudi 12 avril 2001
Statut
Membre
Dernière intervention
25 septembre 2007

J'ai trouvé c'etait bien ScalMode , il fallait que je le mette sur Pixel

Merci Daniel

Maieuuuh, il marche très bien mon code, tu fais une picturebox et elle bouge avec les felche directionnelles du clavier !!!!! ^^