Gerez les evenements mouse_wheel, mouse_enter, dbl_click, mouse_leave .... etc pour tous vos controles en 2 lignes de code

Description

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()
MouseWheel(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).

Source / Exemple :


'Utilisation : ajouter mon UserControl (nommé KME1 dans cet exemple) et faire ce code dans le form_load :

 'associons KME1 à la scrollbar verticale
    With KME1
    
        'récupère le handle du controle dont on veut faire le subclassing
        .ControlHwnd = VScroll1.hWnd
        
        'lance la procédure de subclassing
        Call .LaunchKeyMouseEvents
        
    End With

Nécessite UN KeyMouseEvents par controle.

Conclusion :


Cette fois c'est du niveau 3 ! Na !

Commentez et notez svp ;)

@+

Codes Sources

A voir également

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.