OVH Cloud OVH Cloud

passage sur une zone

9 réponses
Avatar
doudou
Bonjour,

Voil=E0 je sd=E9sire effectuer une modification de couleur sur=20
la zone o=F9 la souris est en train de se d=E9placer;

Mais je ne connait que screen.activecontrol et ceci me=20
donne le controle actif et pas la zone que je survole.

comment faire=20
je veut aussi une proc=E9dure quand la souris sort de cette=20
zone d=E9plac=E9 ...

Merci d'vanace

9 réponses

Avatar
doudou
Ce que je veut faire exactement c'est changer la couleur
d'une zone au passage de la souris puis lui remettre sa
couleur une fois la souris passez sur la zone...

Merci d'avance
-----Message d'origine-----
Bonjour,

Voilà je sdésire effectuer une modification de couleur
sur

la zone où la souris est en train de se déplacer;

Mais je ne connait que screen.activecontrol et ceci me
donne le controle actif et pas la zone que je survole.

comment faire
je veut aussi une procédure quand la souris sort de cette
zone déplacé ...

Merci d'vanace

.



Avatar
doudou
ET ceci par un module . c'est obligatoire car je créer ce
formulaire en dynamique.
-----Message d'origine-----
Bonjour,

Voilà je sdésire effectuer une modification de couleur
sur

la zone où la souris est en train de se déplacer;

Mais je ne connait que screen.activecontrol et ceci me
donne le controle actif et pas la zone que je survole.

comment faire
je veut aussi une procédure quand la souris sort de cette
zone déplacé ...

Merci d'vanace

.



Avatar
Raymond [mvp]
Re doudou.

à mon avis, tu fais une bêtise car tu vas faire clignoter de partout et ça
risque d'agacer l'utilisateur. il faut changer la couleur sur les deux
actions de souris ci-dessous:
Private Sub LeChamp_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
' ici mettre la couleur spéciale
LeChamp.Backcolor = Rgb(........)
End Sub

Private Sub Détail_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
' ici mettre la couleur normale
LeChamp.Backcolor = Rgb(........)
End Sub

il ne faut pas que ce champ soit accolé à un autre champ.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"doudou" a écrit dans le message de
news:1dba501c45468$736d6e60$
ET ceci par un module . c'est obligatoire car je créer ce
formulaire en dynamique.
-----Message d'origine-----
Bonjour,

Voilà je sdésire effectuer une modification de couleur
sur

la zone où la souris est en train de se déplacer;

Mais je ne connait que screen.activecontrol et ceci me
donne le controle actif et pas la zone que je survole.

comment faire
je veut aussi une procédure quand la souris sort de cette
zone déplacé ...

Merci d'vanace

.



Avatar
EVA
Bonjour,

Tu peux essayer de créer dans un module une fonction qui
est appellée quand le contrôle détecte le passage de la
souris au dessus de la zone du contrôle. la c'est facile
tu appelle la fonction dans la propriété du contrôle
OnMouseMove, sur souris déplacée dans la fenetre des
proprietes.

Si c'est une zone qui n'est pas une zone de controle, il
faut que tu crée par exemple un rectangle qui a la taille
de ta zone, qu'il soit rempli par la couleur de ton choix
et de la meme maniere que precedement il faut apeller la
fonction qui permet de changer de couleur sur la
propriete sur souris deplacee du rectangle.

Attention: la fonction va etre apellee à chaque fois que
ta souris va se deplacer au dessus de la zonne et a
chaque fois que la souris bougera, donc plusieurs fois
pendant tous le passage au dessus de la zone. Afin
d'éviter de changer de couleur tout le temps il faut
inclure dans ton code un test pour savoir si ta souris
est proche de la sortie de ta zone ou si elle est plutot
vers l'interieur ainsi lorsque tu estime avoir atteinds
la limite exterieure tu passe la couleur en couleur de
sortie, sinon elle passe en couleur d'interieur. C'est un
peu sportif car il faut récupérer les coordonnées du
curseur de la souris à chaque fois a l'entree de la
fonction pour faire ton test. Pense aussi a ne pas
changer la couleur quand elle est deja de la bonne
couleur, ca evitera des effets de flash eventuels à cause
du rafraichissement d'écran.

Bon courage.

EVA


-----Message d'origine-----
Ce que je veut faire exactement c'est changer la couleur
d'une zone au passage de la souris puis lui remettre sa
couleur une fois la souris passez sur la zone...

Merci d'avance
-----Message d'origine-----
Bonjour,

Voilà je sdésire effectuer une modification de couleur
sur

la zone où la souris est en train de se déplacer;

Mais je ne connait que screen.activecontrol et ceci me
donne le controle actif et pas la zone que je survole.

comment faire
je veut aussi une procédure quand la souris sort de
cette


zone déplacé ...

Merci d'vanace

.

.





Avatar
doudou
Merci mais il faut que ce soit un module qui me renvoie
c'ets valeur car je créer ces zones en dynamiquye donc par
code vba et je ne peut pas inserer du code vba dans un
form grace à un code vba non ??

je peut juste le faire grace à une fontion ???

Merci

-----Message d'origine-----
Re doudou.

à mon avis, tu fais une bêtise car tu vas faire clignoter
de partout et ça

risque d'agacer l'utilisateur. il faut changer la
couleur sur les deux

actions de souris ci-dessous:
Private Sub LeChamp_MouseMove(Button As Integer, Shift As
Integer, X As

Single, Y As Single)
' ici mettre la couleur spéciale
LeChamp.Backcolor = Rgb(........)
End Sub

Private Sub Détail_MouseMove(Button As Integer, Shift As
Integer, X As

Single, Y As Single)
' ici mettre la couleur normale
LeChamp.Backcolor = Rgb(........)
End Sub

il ne faut pas que ce champ soit accolé à un autre champ.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"doudou" a écrit
dans le message de

news:1dba501c45468$736d6e60$
ET ceci par un module . c'est obligatoire car je créer ce
formulaire en dynamique.
-----Message d'origine-----
Bonjour,

Voilà je sdésire effectuer une modification de couleur
sur

la zone où la souris est en train de se déplacer;

Mais je ne connait que screen.activecontrol et ceci me
donne le controle actif et pas la zone que je survole.

comment faire
je veut aussi une procédure quand la souris sort de cette
zone déplacé ...

Merci d'vanace

.





.




Avatar
Raymond [mvp]
puisque tu crées ton form, tu peux bien créer ton contrôle et insérer la
procédure en même temps ? non ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"doudou" a écrit dans le message de
news:1df8701c4546f$97cec4f0$
Merci mais il faut que ce soit un module qui me renvoie
c'ets valeur car je créer ces zones en dynamiquye donc par
code vba et je ne peut pas inserer du code vba dans un
form grace à un code vba non ??

je peut juste le faire grace à une fontion ???

Merci
Avatar
doudou
Marci maisd celà me semble un tit peu complex de détecter
ou se situe ma souris par rapport à ma zone mais merci
beaucoup quand même ....

Merci
-----Message d'origine-----
Bonjour,

Tu peux essayer de créer dans un module une fonction qui
est appellée quand le contrôle détecte le passage de la
souris au dessus de la zone du contrôle. la c'est facile
tu appelle la fonction dans la propriété du contrôle
OnMouseMove, sur souris déplacée dans la fenetre des
proprietes.

Si c'est une zone qui n'est pas une zone de controle, il
faut que tu crée par exemple un rectangle qui a la taille
de ta zone, qu'il soit rempli par la couleur de ton choix
et de la meme maniere que precedement il faut apeller la
fonction qui permet de changer de couleur sur la
propriete sur souris deplacee du rectangle.

Attention: la fonction va etre apellee à chaque fois que
ta souris va se deplacer au dessus de la zonne et a
chaque fois que la souris bougera, donc plusieurs fois
pendant tous le passage au dessus de la zone. Afin
d'éviter de changer de couleur tout le temps il faut
inclure dans ton code un test pour savoir si ta souris
est proche de la sortie de ta zone ou si elle est plutot
vers l'interieur ainsi lorsque tu estime avoir atteinds
la limite exterieure tu passe la couleur en couleur de
sortie, sinon elle passe en couleur d'interieur. C'est un
peu sportif car il faut récupérer les coordonnées du
curseur de la souris à chaque fois a l'entree de la
fonction pour faire ton test. Pense aussi a ne pas
changer la couleur quand elle est deja de la bonne
couleur, ca evitera des effets de flash eventuels à cause
du rafraichissement d'écran.

Bon courage.

EVA


-----Message d'origine-----
Ce que je veut faire exactement c'est changer la couleur
d'une zone au passage de la souris puis lui remettre sa
couleur une fois la souris passez sur la zone...

Merci d'avance
-----Message d'origine-----
Bonjour,

Voilà je sdésire effectuer une modification de couleur
sur

la zone où la souris est en train de se déplacer;

Mais je ne connait que screen.activecontrol et ceci me
donne le controle actif et pas la zone que je survole.

comment faire
je veut aussi une procédure quand la souris sort de
cette


zone déplacé ...

Merci d'vanace

.

.


.






Avatar
doudou
Je na sais pas moi je colle généralement une fonction si
tu peut me dire comment faire ??

Merci
-----Message d'origine-----
puisque tu crées ton form, tu peux bien créer ton
contrôle et insérer la

procédure en même temps ? non ?

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"doudou" a écrit
dans le message de

news:1df8701c4546f$97cec4f0$
Merci mais il faut que ce soit un module qui me renvoie
c'ets valeur car je créer ces zones en dynamiquye donc
par

code vba et je ne peut pas inserer du code vba dans un
form grace à un code vba non ??

je peut juste le faire grace à une fontion ???

Merci


.



Avatar
Raymond [mvp]
Si tu ne l'as jamais fait c'est un peu hard au début; commence par lire les
page de : http://access.vba.free.fr/modules.htm et notamment la page :
http://access.vba.free.fr/inserer_lignes.htm

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"doudou" a écrit dans le message de
news:1e20201c454fb$c0836ea0$
Je na sais pas moi je colle généralement une fonction si
tu peut me dire comment faire ??