OVH Cloud OVH Cloud

Création Evènement MouseLeave

4 réponses
Avatar
Christophe QUEVAL
Bonjour,

J'aimerais ajouter un évènement MouseLeave à un contrôle Treeview afin de
savoir quand la souris n'est plus sur le treeview en question.
Quelqu'un aurait-il une idée sur la façon de procéder ? Avec les APIs je
pense ?
Si quelqu'un a une piste, elle serait la bienvenue.

Merci d'avance.

Christophe

4 réponses

Avatar
The Ultimate Video Game Museum
Crée un nouveau projet et met une Listview.
Places-y le code suivant :

'-------------------------------------------------------

Dim Test_ListView_Souris As Boolean

'-------------------------------------------------------

Private Sub Form_Load()

Test_ListView_Souris = False

End Sub

'-------------------------------------------------------

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single,
y As Single)

Test_ListView_Souris = False

Me.Caption = "Le pointeur de la souris n'est pas sur le contrôle ListView"

End Sub

'-------------------------------------------------------

Private Sub ListView1_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)

Test_ListView_Souris = True

Me.Caption = "Le pointeur est sur le contrôle ListView"

End Sub

'-------------------------------------------------------

C'est pas compliqué ... j'ai fait ça en 2 minutes chono.

Topper

Webmastering, webdesign des sites :
The Ultimate Video Game Museum : http://www.TUVGM.com/
TUVGM Live Playing ! : http://www.LivePlaying.com/
FreeDO France : http://www.TUVGM.com/freedo/
Dune Forever : http://DuneForever.online.fr/
Avatar
Patrice Henrio
J'ai été très intéressé par la réponse que je vais utiliser prochainement.
Par contre la fin est à mon avis inutile "c'est pas compliqué j'ai fait ça
en deux minutes chrono".
Chacun ses compétences et il vaut mieux se grandir par soi-même plutôt qu'en
rabaissant les autres.
Merci cependant du bout de code à Ultimate Video Game Museum (pas facile à
porter comme nom).


"The Ultimate Video Game Museum" a écrit dans le message
de news:3fba0fcf$0$27572$
Crée un nouveau projet et met une Listview.
Places-y le code suivant :

'-------------------------------------------------------

Dim Test_ListView_Souris As Boolean

'-------------------------------------------------------

Private Sub Form_Load()

Test_ListView_Souris = False

End Sub

'-------------------------------------------------------

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As


Single,
y As Single)

Test_ListView_Souris = False

Me.Caption = "Le pointeur de la souris n'est pas sur le contrôle ListView"

End Sub

'-------------------------------------------------------

Private Sub ListView1_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)

Test_ListView_Souris = True

Me.Caption = "Le pointeur est sur le contrôle ListView"

End Sub

'-------------------------------------------------------

C'est pas compliqué ... j'ai fait ça en 2 minutes chono.

Topper

Webmastering, webdesign des sites :
The Ultimate Video Game Museum : http://www.TUVGM.com/
TUVGM Live Playing ! : http://www.LivePlaying.com/
FreeDO France : http://www.TUVGM.com/freedo/
Dune Forever : http://DuneForever.online.fr/




Avatar
Christophe QUEVAL
Merci d'avoir répondu si vite, malheureusement, la réponse n'est pas
satisfaisante. Je connais cette méthode depuis bien longtemps, seulement,
elle oblige à mettre le code similaire au Form_MouseMove dans chacun des
contrôles de la feuille pour que cela fonctionne correctement (le code
Form_MouseMove n'est pas exécuté lorsque l'on passe sur un autre contrôle
sans passer par la feuille elle-même) ! C'est pas le pied. 2 minutes chrono
suffisent en effet pour cette solution ! :-(

Christophe

"The Ultimate Video Game Museum" a écrit dans le message
de news:3fba0fcf$0$27572$
Crée un nouveau projet et met une Listview.
Places-y le code suivant :

'-------------------------------------------------------

Dim Test_ListView_Souris As Boolean

'-------------------------------------------------------

Private Sub Form_Load()

Test_ListView_Souris = False

End Sub

'-------------------------------------------------------

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As


Single,
y As Single)

Test_ListView_Souris = False

Me.Caption = "Le pointeur de la souris n'est pas sur le contrôle ListView"

End Sub

'-------------------------------------------------------

Private Sub ListView1_MouseMove(Button As Integer, Shift As Integer, x As
Single, y As Single)

Test_ListView_Souris = True

Me.Caption = "Le pointeur est sur le contrôle ListView"

End Sub

'-------------------------------------------------------

C'est pas compliqué ... j'ai fait ça en 2 minutes chono.

Topper

Webmastering, webdesign des sites :
The Ultimate Video Game Museum : http://www.TUVGM.com/
TUVGM Live Playing ! : http://www.LivePlaying.com/
FreeDO France : http://www.TUVGM.com/freedo/
Dune Forever : http://DuneForever.online.fr/




Avatar
François Picalausa
"Christophe QUEVAL" a écrit dans le
message de news:bpd5k1$44c$
Merci d'avoir répondu si vite, malheureusement, la réponse n'est pas
satisfaisante. Je connais cette méthode depuis bien longtemps,
seulement, elle oblige à mettre le code similaire au Form_MouseMove
dans chacun des contrôles de la feuille pour que cela fonctionne
correctement (le code Form_MouseMove n'est pas exécuté lorsque l'on
passe sur un autre contrôle sans passer par la feuille elle-même) !
C'est pas le pied. 2 minutes chrono suffisent en effet pour cette
solution ! :-(

Christophe



Bonjour/soir,

Tu peux jeter un oeil au code suivante sur mon site:
http://www.chez.com/fpicalausa/programmation/VB/Code/mouseevents.htm

J'espère qu'il te conviendra mieux ;-)

Il existe une autre possibilité qui consiste à créer un hook souris sur ton
application (attention aux crash) et de traiter les événements.

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