Salut, voilà une source qui pourra être assez utile : il s'agit d'un usercontrol qui permet d'ajouter les évênements :
KeyDown(KeyCode As Long, Param As Long)
KeyUp(KeyCode As Long, Param As Long)
MouseHover()
MouseMove()
MouseLeave()
Mo useWheel(ByVal Sens As WHEEL_SENS)
MouseDown(Button As MouseButtonConstants)
MouseUp(Button As MouseButtonConstants)
MouseDblClick(Button As MouseButtonConstants)
à tous vos contrôles, y compris vos propres usercontrol. La seule condition est de posséder la propriété hWnd.
Gestion des 3 boutons de la souris et de toutes les touches du clavier.
Avec ce code source, vous pourrez donc :
-gérer la molette (par exemple dans une scrollbar)
-gérer le click de la molette, le double click droit...etc
-gérer l'éntrée et la sortie de la souris dans vos controles
Evidemment, tout çà SANS COMNSOMMER DE RESSOURCES EN PLUS puisqu'il s'agit de subclassing ;)
Donc aucun timer pour la gestion de l'entrée/sortie de la souris sur un controle.
Merci à EB pour le bout de code ASM dans l'usercontrol qui simplifie l'appel à la wndproc de substitution (car AddressOf dispo que pour des fonctions publiques de module *.bas).