Savoir si la souris est sortis d'un controle meme un label

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 050 fois - Téléchargée 3 020 fois

Contenu du snippet

Tres pratique, cette source permet de savoir si la souris est au dessus ou en dehors d'un controle de l'appli.

@+

A voir également

Ajouter un commentaire

Commentaires

Messages postés
282
Date d'inscription
mardi 22 août 2006
Statut
Membre
Dernière intervention
21 décembre 2010

Mais pour un contrôle ActivX (OCX) C'est possible ?

If clsMouser.IsMouseOver(Me, PictureExample) Then ...
If clsMouser.IsMouseOver(UserControl, PictureExample) Then ...

Donne une Erreur, apparemment "UserControl" n'est pas acceptée.
J'ai même changer dans la classe "clsMouseOver" :

Public Function IsMouseOver(frmHost As Form, objSubject As Object)
Public Function IsMouseOver(frmHost As Object, objSubject As Object)
Public Function IsMouseOver(frmHost, objSubject As Object)

Sa donne toujours riens, j'ai souvent ce problème là il faut faire quoi ? :x
Messages postés
7
Date d'inscription
jeudi 9 janvier 2003
Statut
Membre
Dernière intervention
18 février 2005

Votre source est la premiere réaction k 'on a pour resoudre ce genre de probleme. Mais on se rend compte que l'utilisation du timer pose souvant des problemes, car il arrive que le timer n'execute pas sont code, parce que l'utilisateur a été rapide ds son mouvement. Comme note je donne 7/10
Messages postés
48
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
10 février 2006

Ca marche du tonerre. Mais n'y aurait il pas un moyen de se passer du Timer ?
Sinon merci encore à tous ceux qui partagent leurs sources et font vivre ce site....
Messages postés
438
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
26 juillet 2007
3
ps, ton vert de départ et ton vert ke tu donne en après nest pas le meme... pas mal l'idéeca vaut un 8
Messages postés
67
Date d'inscription
mercredi 27 février 2002
Statut
Membre
Dernière intervention
2 décembre 2005

Moi je conseille d'utiliser se principe qui est tres utilisée sous windows :

Supprimer tout le code dans la form 'FrmMouseOverDemo' et mettre le code ci dessous :

'*******
'*******

Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long

Private Sub PictureExample_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

With PictureExample
If X >= 0 And X <= .Width And Y >= 0 And Y <= .Height Then
SetCapture .hwnd
Label1.Caption = "Mouse Over"
Else
ReleaseCapture
Label1.Caption = "Mouse Out"
End If
End With

End Sub

'*******
'*******

Tres simple en faite. Il faut aussi peut etre eviter les appels recurants de l'api SetCapture à l'aide d'un boolean
Afficher les 6 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.