Deplacer une image

burnouze Messages postés 38 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 15 mai 2009 - 8 janv. 2005 à 23:52
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 9 janv. 2005 à 20:54
bonjour a tous !

voila j'aimerai avoir des infos sur :

comment déplacer une image et non une icone (DragIcon ) mais dans la meme optique cliquer sur l'image la deplacer(en la voyant)puis la déposer !

merci d'avance , mais svp pas trop compliqué car je suis débutant et pas tres intélo merci !!

5 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 janv. 2005 à 00:10
c'est pas l'image qui se déplace mais la PictureBox qui la contient.

Const WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2


Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Declare Function ReleaseCapture Lib "User32" () As Long

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then
Call ReleaseCapture
SendMessage Picture1.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End If
End Sub

Daniel
0
burnouze Messages postés 38 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 15 mai 2009
9 janv. 2005 à 15:30
merci ca marche

mais j'aimerai que tu développe svp pour comprendre et non copier betement

je debute -500 av jc

merci
0
burnouze Messages postés 38 Date d'inscription mercredi 10 novembre 2004 Statut Membre Dernière intervention 15 mai 2009
9 janv. 2005 à 16:27
de plus j'aimerai faire DragDrop de ma premiere image sur une 2 eme


genre je prend une image 1 que je deplace et cole sur l'image 2 qui se transforme en image 1



merci
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 janv. 2005 à 20:39
Lorsque la souris passe au-dessus d'un contrôle Windows lui donne la main pour capturer les évênements souris.
avec ReleaseCapture on libère le contrôle de la capture des évênements souris et la main passe au contrôle précédent ici c'est la Forme qui reprend le contrôle de la souris.
ensuite on envoie un message système pour faire croire à Windows qu'il est sur la barre de titre afin de déplacer la feuille selon la position de la souris en fait c'est le contrôle qui se déplace.

Daniel
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 janv. 2005 à 20:54
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim dx As Integer
Dim dy As Integer

If Button = 1 Then
Call ReleaseCapture
SendMessage Picture1.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End If

dx = Abs(Picture2.Left - Picture1.Left)
dy = Abs(Picture2.Top - Picture1.Top)


' la tolérance de 100 dépend de l'unité de la forme ici c'est des pixels
If dx < 100 And dy < 100 Then
Picture2.Picture = Picture1.Picture
Picture1.Visible = False
Beep
End If
End Sub

Daniel
0
Rejoignez-nous