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és7Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention18 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és48Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention10 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és438Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention26 juillet 20074 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és67Date d'inscriptionmercredi 27 février 2002StatutMembreDerniè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és164Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention19 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... .-)
12 juil. 2009 à 06:02
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
17 déc. 2004 à 17:36
13 août 2004 à 10:30
Sinon merci encore à tous ceux qui partagent leurs sources et font vivre ce site....
28 juil. 2003 à 10:26
24 juil. 2003 à 10:12
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
23 juil. 2003 à 11:12
@ Pluche