Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de coordonnées drag-drop ???

4 réponses
Avatar
LE TROLL
Bonjour,

Voici, sous-cité, mon code...

Je veux déplacer à la souris, des pictures dur
ma form, ça marche, sauf que je ne dois pas
récupérer les bonne coordonnées, lors du poser,
car selon l'endroit où je pique l'image à déplacer
avec la souris, je ne me positionne pas toujours à
l'endroit voulu... Je ne dois pas prendre les
bonnes coordonnées, exemple: si je pique l'image
au coin nord-ouest, pas de problème, mais si je
pique l'image (avant de la déplacer), en sud-est,
ben, quand je lâche, l'image ne va pas rester où
elle est, mais va dans ce cas, positionner son
top/left à l'endroit du lâher de la souris, ce qui
va décaler tout en direction sud-est...

Je ne sais pas si vous comprenez, ce n'est pas
facile à expliquer, autre exemple alors:
Quand on positionne une image par glisser sur la
form, en mode création, mode écriture de code,
avant tout lancement, et bien, où qu'on pique
l'objet, son top/left sera exactement celui à
l'endroit duquel on aura lâché le bouton de la
souris, normal, c'est ça que je voudrais faire,
mais avec mon problème, en fait, le positionnement
de la picture tient compte de l'endroit où le
curseur de la souris la pique, pour la déplacer
(ce qu'il ne faudrait pas), y voyez-vous un remède
???

Dim lindex As Integer
'
Sub Form_Load()
Form1.ScaleMode = 1
End Sub

Sub Picture1_MouseDown(Index As Integer, Button As
Integer, Shift As Integer, X As Single, Y As
Single)
If Button <> 1 Then Exit Sub
lindex = Index
Picture1(Index).Drag vbBeginDrag
End Sub

Sub Form_DragDrop(Source As Control, X As Single,
Y As Single)
Picture1(lindex).Left = X ' ça merde ici !!! si
curseur <> top-left
Picture1(lindex).Top = Y ' ça merde ici !!! si
curseur <> top-left
End Sub


--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------

4 réponses

Avatar
Christian Hugoud
Je ne vois nulle part la prise en compte de la position de départ du curseur
à l'intérieur de la picturebox. Il y a peut-être une idée à creuser...

Christian

"LE TROLL" <le a écrit dans le message de news:
%
Bonjour,

Voici, sous-cité, mon code...

Je veux déplacer à la souris, des pictures dur
ma form, ça marche, sauf que je ne dois pas
récupérer les bonne coordonnées, lors du poser,
car selon l'endroit où je pique l'image à déplacer
avec la souris, je ne me positionne pas toujours à
l'endroit voulu... Je ne dois pas prendre les
bonnes coordonnées, exemple: si je pique l'image
au coin nord-ouest, pas de problème, mais si je
pique l'image (avant de la déplacer), en sud-est,
ben, quand je lâche, l'image ne va pas rester où
elle est, mais va dans ce cas, positionner son
top/left à l'endroit du lâher de la souris, ce qui
va décaler tout en direction sud-est...

Je ne sais pas si vous comprenez, ce n'est pas
facile à expliquer, autre exemple alors:
Quand on positionne une image par glisser sur la
form, en mode création, mode écriture de code,
avant tout lancement, et bien, où qu'on pique
l'objet, son top/left sera exactement celui à
l'endroit duquel on aura lâché le bouton de la
souris, normal, c'est ça que je voudrais faire,
mais avec mon problème, en fait, le positionnement
de la picture tient compte de l'endroit où le
curseur de la souris la pique, pour la déplacer
(ce qu'il ne faudrait pas), y voyez-vous un remède
???

Dim lindex As Integer
'
Sub Form_Load()
Form1.ScaleMode = 1
End Sub

Sub Picture1_MouseDown(Index As Integer, Button As
Integer, Shift As Integer, X As Single, Y As
Single)
If Button <> 1 Then Exit Sub
lindex = Index
Picture1(Index).Drag vbBeginDrag
End Sub

Sub Form_DragDrop(Source As Control, X As Single,
Y As Single)
Picture1(lindex).Left = X ' ça merde ici !!! si
curseur <> top-left
Picture1(lindex).Top = Y ' ça merde ici !!! si
curseur <> top-left
End Sub


--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------




Avatar
Driss HANIB
salut LE TROLL

comme christian viens de dire il faut au moment ou tu cliques que tu
récupère la position de la souris par rapport au coin haut-gauche de ta
picturebox et au moment ou tu drop il faut réintroduire ce décalage par
rapport à la position de ta souris et là cela marchera..
je l'ai fait pour déplacer un carré dans un picture box ou un cercle..

Driss

"LE TROLL" <le a écrit dans le message de
news:%
Bonjour,

Voici, sous-cité, mon code...

Je veux déplacer à la souris, des pictures dur
ma form, ça marche, sauf que je ne dois pas
récupérer les bonne coordonnées, lors du poser,
car selon l'endroit où je pique l'image à déplacer
avec la souris, je ne me positionne pas toujours à
l'endroit voulu... Je ne dois pas prendre les
bonnes coordonnées, exemple: si je pique l'image
au coin nord-ouest, pas de problème, mais si je
pique l'image (avant de la déplacer), en sud-est,
ben, quand je lâche, l'image ne va pas rester où
elle est, mais va dans ce cas, positionner son
top/left à l'endroit du lâher de la souris, ce qui
va décaler tout en direction sud-est...

Je ne sais pas si vous comprenez, ce n'est pas
facile à expliquer, autre exemple alors:
Quand on positionne une image par glisser sur la
form, en mode création, mode écriture de code,
avant tout lancement, et bien, où qu'on pique
l'objet, son top/left sera exactement celui à
l'endroit duquel on aura lâché le bouton de la
souris, normal, c'est ça que je voudrais faire,
mais avec mon problème, en fait, le positionnement
de la picture tient compte de l'endroit où le
curseur de la souris la pique, pour la déplacer
(ce qu'il ne faudrait pas), y voyez-vous un remède
???

Dim lindex As Integer
'
Sub Form_Load()
Form1.ScaleMode = 1
End Sub

Sub Picture1_MouseDown(Index As Integer, Button As
Integer, Shift As Integer, X As Single, Y As
Single)
If Button <> 1 Then Exit Sub
lindex = Index
Picture1(Index).Drag vbBeginDrag
End Sub

Sub Form_DragDrop(Source As Control, X As Single,
Y As Single)
Picture1(lindex).Left = X ' ça merde ici !!! si
curseur <> top-left
Picture1(lindex).Top = Y ' ça merde ici !!! si
curseur <> top-left
End Sub


--
Merci beaucoup, au revoir et à bientôt :o)
------
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
--------------------------------------------------------------------------


----------




Avatar
LE TROLL
Bonjour Driss,

Oui, merci, j'avais ça en tête, mais je me
demandais néanmoins, s'il n'y avait pas mieux...
En plus, va falloir gérer l'interdiction de sortir
de l'écran (est et sud)...

Bonne fin d'année :o)

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Driss HANIB" a écrit
dans le message de news:

| salut LE TROLL
|
| comme christian viens de dire il faut au moment
ou tu cliques que tu
| récupère la position de la souris par rapport au
coin haut-gauche de ta
| picturebox et au moment ou tu drop il faut
réintroduire ce décalage par
| rapport à la position de ta souris et là cela
marchera..
| je l'ai fait pour déplacer un carré dans un
picture box ou un cercle..
|
| Driss
|
| "LE TROLL" <le a écrit dans le
message de
| news:%
| > Bonjour,
| >
| > Voici, sous-cité, mon code...
| >
| > Je veux déplacer à la souris, des pictures
dur
| > ma form, ça marche, sauf que je ne dois pas
| > récupérer les bonne coordonnées, lors du
poser,
| > car selon l'endroit où je pique l'image à
déplacer
| > avec la souris, je ne me positionne pas
toujours à
| > l'endroit voulu... Je ne dois pas prendre les
| > bonnes coordonnées, exemple: si je pique
l'image
| > au coin nord-ouest, pas de problème, mais si
je
| > pique l'image (avant de la déplacer), en
sud-est,
| > ben, quand je lâche, l'image ne va pas rester

| > elle est, mais va dans ce cas, positionner son
| > top/left à l'endroit du lâher de la souris, ce
qui
| > va décaler tout en direction sud-est...
| >
| > Je ne sais pas si vous comprenez, ce n'est
pas
| > facile à expliquer, autre exemple alors:
| > Quand on positionne une image par glisser sur
la
| > form, en mode création, mode écriture de code,
| > avant tout lancement, et bien, où qu'on pique
| > l'objet, son top/left sera exactement celui à
| > l'endroit duquel on aura lâché le bouton de la
| > souris, normal, c'est ça que je voudrais
faire,
| > mais avec mon problème, en fait, le
positionnement
| > de la picture tient compte de l'endroit où le
| > curseur de la souris la pique, pour la
déplacer
| > (ce qu'il ne faudrait pas), y voyez-vous un
remède
| > ???
| >
| > Dim lindex As Integer
| > '
| > Sub Form_Load()
| > Form1.ScaleMode = 1
| > End Sub
| >
| > Sub Picture1_MouseDown(Index As Integer,
Button As
| > Integer, Shift As Integer, X As Single, Y As
| > Single)
| > If Button <> 1 Then Exit Sub
| > lindex = Index
| > Picture1(Index).Drag vbBeginDrag
| > End Sub
| >
| > Sub Form_DragDrop(Source As Control, X As
Single,
| > Y As Single)
| > Picture1(lindex).Left = X ' ça merde ici !!!
si
| > curseur <> top-left
| > Picture1(lindex).Top = Y ' ça merde ici !!!
si
| > curseur <> top-left
| > End Sub
| >
| >
| > --
| > Merci beaucoup, au revoir et à bientôt :o)
| > ------
| > Romans, logiciels, email, site personnel
| > http://irolog.free.fr/joe.htm
|
> --------------------------------------------------------------------------
| ----------
| >
| >
|
|
Avatar
LE TROLL
Bonjour Christian,

Oui, il semblerait que la seule idée soit
ça...

Merci, bonne fêtes.

--
Romans, logiciels, email, site personnel
http://irolog.free.fr/joe.htm
------------------------------------------------------------------------------------
"Christian Hugoud" a
écrit dans le message de news:

| Je ne vois nulle part la prise en compte de la
position de départ du curseur
| à l'intérieur de la picturebox. Il y a peut-être
une idée à creuser...
|
| Christian
|
| "LE TROLL" <le a écrit dans le
message de news:
| %
| > Bonjour,
| >
| > Voici, sous-cité, mon code...
| >
| > Je veux déplacer à la souris, des pictures
dur
| > ma form, ça marche, sauf que je ne dois pas
| > récupérer les bonne coordonnées, lors du
poser,
| > car selon l'endroit où je pique l'image à
déplacer
| > avec la souris, je ne me positionne pas
toujours à
| > l'endroit voulu... Je ne dois pas prendre les
| > bonnes coordonnées, exemple: si je pique
l'image
| > au coin nord-ouest, pas de problème, mais si
je
| > pique l'image (avant de la déplacer), en
sud-est,
| > ben, quand je lâche, l'image ne va pas rester

| > elle est, mais va dans ce cas, positionner son
| > top/left à l'endroit du lâher de la souris, ce
qui
| > va décaler tout en direction sud-est...
| >
| > Je ne sais pas si vous comprenez, ce n'est
pas
| > facile à expliquer, autre exemple alors:
| > Quand on positionne une image par glisser sur
la
| > form, en mode création, mode écriture de code,
| > avant tout lancement, et bien, où qu'on pique
| > l'objet, son top/left sera exactement celui à
| > l'endroit duquel on aura lâché le bouton de la
| > souris, normal, c'est ça que je voudrais
faire,
| > mais avec mon problème, en fait, le
positionnement
| > de la picture tient compte de l'endroit où le
| > curseur de la souris la pique, pour la
déplacer
| > (ce qu'il ne faudrait pas), y voyez-vous un
remède
| > ???
| >
| > Dim lindex As Integer
| > '
| > Sub Form_Load()
| > Form1.ScaleMode = 1
| > End Sub
| >
| > Sub Picture1_MouseDown(Index As Integer,
Button As
| > Integer, Shift As Integer, X As Single, Y As
| > Single)
| > If Button <> 1 Then Exit Sub
| > lindex = Index
| > Picture1(Index).Drag vbBeginDrag
| > End Sub
| >
| > Sub Form_DragDrop(Source As Control, X As
Single,
| > Y As Single)
| > Picture1(lindex).Left = X ' ça merde ici !!!
si
| > curseur <> top-left
| > Picture1(lindex).Top = Y ' ça merde ici !!!
si
| > curseur <> top-left
| > End Sub
| >
| >
| > --
| > Merci beaucoup, au revoir et à bientôt :o)
| > ------
| > Romans, logiciels, email, site personnel
| > http://irolog.free.fr/joe.htm
|
> ------------------------------------------------------------------------------------
| >
| >
|
|