SAVOIR SI LA SOURIS EST SORTIS D'UN CONTROLE MEME UN LABEL

Frank339 Messages postés 164 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 19 décembre 2008 - 23 juil. 2003 à 11:12
 Utilisateur anonyme - 12 juil. 2009 à 06:02
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/7631-savoir-si-la-souris-est-sortis-d-un-controle-meme-un-label

Utilisateur anonyme
12 juil. 2009 à 06:02
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
cs_Besh Messages postés 7 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 18 février 2005
17 déc. 2004 à 17:36
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
cs_gorby69 Messages postés 48 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 10 février 2006
13 août 2004 à 10:30
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....
Nargzul Messages postés 438 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 26 juillet 2007 4
28 juil. 2003 à 10:26
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
bidoch78 Messages postés 67 Date d'inscription mercredi 27 février 2002 Statut Membre Dernière intervention 2 décembre 2005
24 juil. 2003 à 10:12
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
Frank339 Messages postés 164 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 19 décembre 2008
23 juil. 2003 à 11:12
bien joué... généralement quand tu sors trop vite de la fenetre principale la couleur rouge reste, chez toi ca change automatiquement au vert... bon, comme je connais beaucoups de sources sur vbfrance, me semble qu'a MA connaissance il n'y a pas énormément de sources qui fonctionnent comme la tienne (au passage, c pas garanti), donc un bon 8 est de rigeur... .-)

@ Pluche
Rejoignez-nous