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

6 réponses

1 2
Avatar
François Picalausa
Bonjour/soir,

J'avais mis le smiley car si tu lis mon post... enfin, click sur le lien :-)

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

"ng" a écrit dans le message de
news:
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.


Avatar
ng
C'était donc toi :-) Bah merci alors, car c'est du code qui m'a deja été
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:

Bonjour/soir,

J'avais mis le smiley car si tu lis mon post... enfin, click sur le lien


:-)

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

"ng" a écrit dans le message de
news:
> 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.




Avatar
Jérôme VERITE
Merci à tous,
vous m'avez fait découvrir une API bien interessante, getcapture que je ne
connaissais pas, bien qu'utilisant déjà setcapture.

Merci beaucoup à tous

Jérôme

"ng" a écrit dans le message de
news:
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
Jérôme VERITE
Solution trouvée sur le génialissime site vbaccelerator

http://www.vbaccelerator.com/home/VB/Code/vbMedia/DIB_Sections/Alpha_DIBSection/VB5_Alpha_DIB_Section_Demonstration_zip_cMouseTrack_cls.asp

Jérôme

"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,

Je ne sais pas si tu as encore du windows 95/du NT3 mais TrackMouseEvent
requiert Windows98/NT4

--
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:%
Solution trouvée sur le génialissime site vbaccelerator




http://www.vbaccelerator.com/home/VB/Code/vbMedia/DIB_Sections/Alpha_DIBSection/VB5_Alpha_DIB_Section_Demonstration_zip_cMouseTrack_cls.asp

Jérôme


Avatar
Jérôme VERITE
Merci pour l'info mais pas de souci, je demande NT4 ou 2000 ou XP minimum,
même pas de 98

Jérôme
"François Picalausa" a écrit dans le message de
news:%
Bonjour/soir,

Je ne sais pas si tu as encore du windows 95/du NT3 mais TrackMouseEvent
requiert Windows98/NT4

--
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:%
> Solution trouvée sur le génialissime site vbaccelerator
>
>



http://www.vbaccelerator.com/home/VB/Code/vbMedia/DIB_Sections/Alpha_DIBSection/VB5_Alpha_DIB_Section_Demonstration_zip_cMouseTrack_cls.asp
>
> Jérôme




1 2