PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → [Evénement Déplacement] : ne marche pas sur contrôle image ?
[Evénement Déplacement] : ne marche pas sur contrôle image ?
Iniciado por vbenner, jun., 07 2005 3:47 PM - 8 respostas
Publicado em junho, 07 2005 - 3:47 PM
Bonjour,

Je cherche à faire un écran de saisie avec une image qui pourrait se déplacer lorsque l'utilisateur clique dessus et déplace la souris (genre potentiomètre)

Le problème, c'est que l'événement Déplacement semble ne pas fonctionner sur les images. J'ai bien déjà vu l'exemple WD Manipulation de Figures mais cela ne me convient pas.

Est-ce que quelq'un a une idée pour l'aider ?

Merci,


Vincent
Publicado em junho, 07 2005 - 4:37 PM
Dans l'évènement bouton gauche enfoncé et bouton gauche relaché du l'image tu dois positionner un flag ( blnDéplaceChamp qui doit être global à la fenêtre)
enfoncé : blnDéplaceChamp = vrai
relaché : blnDéplaceChamp = faux

Dans l'init de la fenêtre tu mets :
Evénement("EvDéplaceChamp","*.*", WM_MOUSEMOVE)

PROCEDURE EvDéplaceChamp()
QUAND EXCEPTION DANS
SI blnDéplaceChamp ALORS
MonChamp..X=SourisPosX()
MonChamp..Y=SourisPosY()
FenRepeint()
FIN
FAIRE
FIN

Bonne continuation !

LOUIS Dany
Publicado em junho, 07 2005 - 5:08 PM
Bonjour et merci d'avance pour les informations.

Il y a cependant un 'bug' : ça flashe !

En gros, j'essaye de cliquer dans l'image et de déplacer la
souris. L'image est censée se déplacer d'autant que le souris
s'est déplacée en X. Le déplacement de la souris en Y n'est
pas traité.

Merci,

Vincent
Publicado em junho, 07 2005 - 5:35 PM
essaies en utilisant la propriété AffichageActif le temps d'un déplacement
Pour le reste tout devrait aller, j'utilise ce système pour créer des écrans dynamique (créer par l'utilisateur)

Bonne semaine
LOUIS Dany.
Publicado em junho, 07 2005 - 6:29 PM
Bonjour Louis,

J'ai bien peur de ne pas avoir compris toute la
démarche à suivre !

J'ai mis dans un formulaire frmMAIN une image Image1
(fond gris) et un potentiomètre.


Dans le Code de la fenêtre :

EXTERN "WINCONST.WL"
GLOBAL
blnDéplaceChamp est un booléen


Dans l'initialisation de la fenêtre
frmMAIN.Image1..AffichageActif = Vrai
Evénement("EvDéplaceChamp","*.*", WM_MOUSEMOVE)

Dans Bouton Gauche Enfoncé de l'image
blnDéplaceChamp = Vrai

Dans Bouton Gauche Relâché de l'image
blnDéplaceChamp = Faux


PROCEDURE EvDéplaceChamp()
QUAND EXCEPTION DANS
SI blnDéplaceChamp ALORS
Image1..X=SourisPosX()
FIN
FAIRE
FIN



C'est pas beau du tout !!!! Le potentiomètre qui est sur la même fenêtre est très joli et c'est ce résultat que j'aimerais obtenir...

Si vous avez encore 3 minutes pour m'indiquer ce qui pêche,

Vincent
vbenner@pageup.fr
Publicado em junho, 08 2005 - 11:14 AM
Voici la correction pour la procédure locale :

PROCEDURE EvDéplaceChamp()

QUAND EXCEPTION DANS
SI blnDéplaceChamp ALORS
Image1..X=PoidsFaible(CurseurPos ( cpClient ))
FenRepeint()
FIN
FAIRE
FIN

Bien à toi
Dany.
Publicado em junho, 08 2005 - 12:00 PM
Bonjour Dany,

Merci, c'est nickel ! C'est très fluide.

Sans vouloir être lourd, existe-t'il un équivalent
en WinDEV mobile ???

Encore merci et à bientôt,

Vincent
Publicado em junho, 10 2005 - 1:27 PM
si les mêmes instructions W-Langage existe, normalement oui, mais sur un pocket c'est le stylet dont il faudra tester la position et savoir s'il est posé sur l'écran ou non
Publicado em junho, 10 2005 - 5:39 PM
Bonjour,

Je vais essayer de poser la question sur le
forum Windev Mobile !

Merci,

Vincent