|
| Déplacer un champ image avec souris |
| Iniciado por jcloyola47, 16,jul. 2020 14:14 - 7 respuestas |
| |
| | | |
|
| |
| Publicado el 16,julio 2020 - 14:14 |
Bonjour,
Je souhaite déplacer une image sur l'axe X avec la souris (bouton gauche); Dans mon exemple l'image se déplace bien lors du clic, mais il semble que mon déplacement est limité sur la largeur de l'image et non pas sur toute la fenêtre. Par avance merci de votre aide, si vous avez un bout de code amélioré merci aussi.
Exemple :
Sur mon image : Si bouton gauche enfoncé alors procédure déplacer()
PROCÉDURE déplacer() TANTQUE ToucheEnfoncée(teBoutonG) = Vrai Multitâche(-1) SI ToucheEnfoncée(teBoutonG) = Faux ALORS SORTIR IMG_SansNom1..X = SourisPosX() FIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 70 mensajes |
|
| Publicado el 16,julio 2020 - 17:03 |
Bonjour, Oui, je te confirme que c'est normal. La fonction SourisPosX a 1 paramètre. Si il n'est pas précisé, l'aide dit : "Position de la souris par rapport au point haut gauche du champ"
Pour un bout de code amélioré, il faudrait déjà savoir ce que tu veux concrètement  |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 4.363 mensajes |
|
| Publicado el 16,julio 2020 - 17:06 |
Bonjour, Tout est dans la doc de SourisPosX. Tout se passe au niveau du paramètre (spChamp par défaut)
-- Il y a peut être plus simple, mais, ça tourne |
| |
| |
| | | |
|
| | |
| |
| Publicado el 16,julio 2020 - 19:32 |
re : merci pour vos réponses
Je souhaite cliquer sur image ( clic gauche ), et tant que le bouton gauche est enfoncé, l'image doit suivre mon curseur; lorsque je relâche bouton gauche, l'image ne suit plus.
J'ai bien essayé en modifiant le paramètre de SourisPosX(param) avec "spfenêtre" ou les autres mais alors soit l'image se déplace mais pas en suivant le curseur, soit l'image se limite au dimension du champ image.
Je pense que je ferais mieux de passer par mémoriser la position de la souris lors du clic, calculer le delta lorsque je bouge la souris et ajouter ce delta au coordonnées de mon image. J'ai bien l'idée mais pas la gymnastique de concrétiser. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 5 mensajes |
|
| Publicado el 16,julio 2020 - 21:58 |
Merci pour vos réponse.
Concrètement, je souhaite déplacer un pion sur un damier à l'aide de la souris. Clic gauche sur image pour la sélectionner et la déplacer. Fin clic gauche pour pour poser l'image.
Pour mon exemple précédent, j'ai bien testé avec les différents paramètres de SourisPosX(sp......) mais soit l'image ne suit pas du tout mon curseur, soit comme déjà expliqué, elle ne dépasse pas les coordonnées de mon champ image. Je souhaite pouvoir la déplacer n'importe où dans ma fenêtre ( le damier )
Peut-être faut-il capturer les coordonnées de la souris au moment du clic, puis de comparer le delta lors du déplacement de la souris et l'ajouter aux coordonnées de l'image ?? j'ai l'idée mais je n'arrive pas à concrétiser.
NB : il me semblait avoir vu un exemple WD genre puzzle dans les versions précédentes, mais je ne le vois plus dans la V25, dommage, je pense que ma solution y est.
En attendant je me tourne vers vous et merci pour vos suggestions |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 70 mensajes |
|
| Publicado el 17,julio 2020 - 09:53 |
Je suis d'humeur gentil aujourd'hui  Voici le code pour faire ce que tu souhaites. Code dans déclaration de la fenêtre
WM_LBUTTONDOWN est un entier = 513 Evénement(déplacer, IMG_SansNom1..Nom, WM_LBUTTONDOWN)
Procédure déplacer
Procedure déplacer()
nXPos, nYPos est un entier nXPos=SourisPosX() nYPos=SourisPosY()
TANTQUE ToucheEnfoncée(teBoutonG) = Vrai Multitâche(-1) Res est un entier = CurseurPos(cpClient) SI Res <> -1 ALORS {MoiMême..Nom,indChamp}..X = PoidsFaible(Res) - nXPos {MoiMême..Nom,indChamp}..y = PoidsFort(Res) - nYPos FIN FIN |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 5 mensajes |
|
| Publicado el 17,julio 2020 - 11:38 |
Bonjour Laurent,
C'est exactement ça ! Effectivement, il fallait faire un test pour voir la nouvelle position du curseur, ce que je n'arrivais pas à faire. Je ne connaissais pas non plus PoidsFaible / Fort je vais aller voir la doc.
Encore mille merci pour ta gentillesse et ton savoir. Sujet résolu et clos.
Merci aux autres également. Bonne journée. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 5 mensajes |
|
| Publicado el 17,julio 2020 - 12:45 |
Rebonjour,
Juste un petit "bug" : le premier clic gauche sur l'image ne déplace pas l'image, je dois cliquer une deuxième fois. Mais sinon ça fonctionne. |
| |
| |
| | | |
|
| | | | |
| | |
|