OVH Cloud OVH Cloud

MouseEnter et MouseExit

16 réponses
Avatar
Jérôme VERITE
Bonjour,

Comment faire pour récupérer les évènements s'ils existent MouseEnter et
MouseExit?

Pour information, je récupère déjà toute sorte d'évènements, c'est donc le
cas particulier de ces 2 là qui m'interesse et pas la technique générale.

Merci d'avance pour votre aide précieuse.

Jérôme

10 réponses

1 2
Avatar
surfeur75
Bonjour,
Heu, pour ma formation perso, c'est quoi "MouseEnter" et "MouseExit" ?
Parles-tu de, quans la souris entre dans une zone géographique, de sa
position en fait, ou est-ce autre chose?
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!


"Jérôme VERITE" <veritejeromeAROBASEwanadooPOINTfr> a écrit dans le message
de news:
Bonjour,

Comment faire pour récupérer les évènements s'ils existent MouseEnter et
MouseExit?

Pour information, je récupère déjà toute sorte d'évènements, c'est donc le
cas particulier de ces 2 là qui m'interesse et pas la technique générale.

Merci d'avance pour votre aide précieuse.

Jérôme




Avatar
marcel Bultez
MouseEnter et MouseExit
n'existent pas mais tout dépend
ce que l'on veut intercepter ?
survol de quelquechose par la souris ?
appui sur click ? droit ? gauche ?
relâche click ?
que faut-il intercepter donc ?
Avatar
surfeur75
Ben oui, c'est bien ce que je me demande, c'est quoi MouseEnter et Exit ?
Lol...
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!


"marcel Bultez" a écrit dans le message de
news:
MouseEnter et MouseExit
n'existent pas mais tout dépend
ce que l'on veut intercepter ?
survol de quelquechose par la souris ?
appui sur click ? droit ? gauche ?
relâche click ?
que faut-il intercepter donc ?




Avatar
Jérôme VERITE
J'entend par mouseenter, le moment ou la souris commence à survoler un objet
et par mouseexit le moment ou elle arrête de le survoler.

il y a apparemment des méthodes "programmées" pour simuler ces évènements
avec des timers, des setcapture pour capturer le curseur de la souris et des
releasecapture pour le lâcher, mais je ne trouve pas cela très très propre à
vrai dire.

Ces événements porte dans d'autres langages le nom de mouseover et mouseout
comme en java il e semble.

J'espère être plus clair sur mon besoin

Jérôme
"surfeur75" a écrit dans le message de
news:
Bonjour,
Heu, pour ma formation perso, c'est quoi "MouseEnter" et "MouseExit" ?
Parles-tu de, quans la souris entre dans une zone géographique, de sa
position en fait, ou est-ce autre chose?
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!


"Jérôme VERITE" <veritejeromeAROBASEwanadooPOINTfr> a écrit dans le


message
de news:
> Bonjour,
>
> Comment faire pour récupérer les évènements s'ils existent MouseEnter et
> MouseExit?
>
> Pour information, je récupère déjà toute sorte d'évènements, c'est donc


le
> cas particulier de ces 2 là qui m'interesse et pas la technique


générale.
>
> Merci d'avance pour votre aide précieuse.
>
> Jérôme
>
>




Avatar
surfeur75
Bonjour, alors tu as déjà, et faute de mieux me concernant, la procédure:

Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)
text1.text = X & " : " & Y
End Sub

Qui avec X et Y t'indiqueront où qu'est la souris, d'ailleus pour fixer la
paramètresc'est bien de matérialiser dans l'évènement la position à l'aide
d'une textBox...
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!


"Jérôme VERITE" <veritejeromeAROBASEwanadooPOINTfr> a écrit dans le message
de news:
J'entend par mouseenter, le moment ou la souris commence à survoler un


objet
et par mouseexit le moment ou elle arrête de le survoler.

il y a apparemment des méthodes "programmées" pour simuler ces évènements
avec des timers, des setcapture pour capturer le curseur de la souris et


des
releasecapture pour le lâcher, mais je ne trouve pas cela très très propre


à
vrai dire.

Ces événements porte dans d'autres langages le nom de mouseover et


mouseout
comme en java il e semble.

J'espère être plus clair sur mon besoin

Jérôme
"surfeur75" a écrit dans le message de
news:
> Bonjour,
> Heu, pour ma formation perso, c'est quoi "MouseEnter" et "MouseExit" ?
> Parles-tu de, quans la souris entre dans une zone géographique, de sa
> position en fait, ou est-ce autre chose?
> --
> @+, bye, Joe.
> Pour m'écrire ng75AROBASEnoosPOINTfr
> remplace AROBASE et POINT par leur vrai signe
> Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
>
>
> "Jérôme VERITE" <veritejeromeAROBASEwanadooPOINTfr> a écrit dans le
message
> de news:
> > Bonjour,
> >
> > Comment faire pour récupérer les évènements s'ils existent MouseEnter


et
> > MouseExit?
> >
> > Pour information, je récupère déjà toute sorte d'évènements, c'est


donc
le
> > cas particulier de ces 2 là qui m'interesse et pas la technique
générale.
> >
> > Merci d'avance pour votre aide précieuse.
> >
> > Jérôme
> >
> >
>
>




Avatar
François Picalausa
Bonjour/Soir,

Tu peux essayer le bout de code à l'adresse suivante:
http://www.chez.com/fpicalausa/programmation/VB/Code/mouseevents.htm

Sinon, c'est faisable en isntallant un hook messages.
Autre possibilité, avec un code sur le mousemove de chaque élément de la
feuille et agir en fonction de... (mais c'est une solution peu flexible)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


"Jérôme VERITE" <veritejeromeAROBASEwanadooPOINTfr> a écrit dans le
message de news:
Bonjour,

Comment faire pour récupérer les évènements s'ils existent MouseEnter
et MouseExit?

Pour information, je récupère déjà toute sorte d'évènements, c'est
donc le cas particulier de ces 2 là qui m'interesse et pas la
technique générale.

Merci d'avance pour votre aide précieuse.

Jérôme


Avatar
ng
Salut,

Voici un exemple pour un usercontrol :

'Le code suivant vous permet de détecter l'entrée, la sortie et le mouvement
de la souris sur un usercontrol.

'Attention: le scalemode du usercontrol doit être placé sur 3 - pixels pour
que ce code fonctionne!


Option Explicit

'------- Déclarations d'API -------

Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Declare Function GetCapture Lib "user32" () As Long
Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As
Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As
Long,ByVal yPoint As Long) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As
Long,pRect As RECT) As Long

'------- Déclarations des événements appelés -------

Event MouseLeave()
Event MouseEnter(Button As Integer, Shift As Integer, X As Single, Y As
Single)
Event MouseMove(Button As Integer, Shift As Integer, X As Single, Y As
Single)

Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, X As
Single, Y As Single)
'Si le curseur a été capturé par le contrôle
If GetCapture() = UserControl.hwnd Then
'Variable contenant le rectangle du contrôle
Dim ControlRect As RECT
'Définition de la valeur de la variable
GetWindowRect UserControl.hwnd, ControlRect

'si le pointeur quitte le contrôle
'(que la fenêtre est différente de celle du contrôle)
If WindowFromPoint(ControlRect.Left + X, ControlRect.Top + Y) <>
UserControl.hwnd Then
' on libère la capture et on apelle l'événement de sortie
RaiseEvent MouseLeave
Call ReleaseCapture
Else
'La souris bouge sur le contrôle, on appelle l'événement
"mousemove"
RaiseEvent Mousemove(Button, Shift, X, Y)
End If

Else
' Lorsque la souris entre sur le contrôle, on en fait la capture.
' C à d que tous les événement ne seront plus retransmits qu'à ce
contrôle.
RaiseEvent MouseEnter(Button, Shift, X, Y)
Call SetCapture(UserControl.hwnd)
End If

End Sub


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/


"Jérôme VERITE" <veritejeromeAROBASEwanadooPOINTfr> a écrit dans le message
de news:
Bonjour,

Comment faire pour récupérer les évènements s'ils existent MouseEnter et
MouseExit?

Pour information, je récupère déjà toute sorte d'évènements, c'est donc le
cas particulier de ces 2 là qui m'interesse et pas la technique générale.

Merci d'avance pour votre aide précieuse.

Jérôme




Avatar
François Picalausa
Hello!

"ng" a écrit dans le message de
news:
Salut,

Voici un exemple pour un usercontrol :



Puis-je citer ta source? ;-)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com
Avatar
ng
Salut,

Je ne la connais malheureusement pas donc oui tu peux la citer :-)

J'avais enregistré ce code il y a un moment deja sur mon disque dans un
fichier texte car il me parassait particulierement interessant et utile.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/


"François Picalausa" a écrit dans le message de news:

Hello!

"ng" a écrit dans le message de
news:
> Salut,
>
> Voici un exemple pour un usercontrol :

Puis-je citer ta source? ;-)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com




Avatar
Zoury
hehe! :O)

http://groups.google.com/groups?threadm=ObgT%24ExYCHA.1724%40tkmsftngp10
1 2