Mouse hook ax - gérer le hook complet de souris par ax - permet plus d'évenements que ceux de vb !!!

Soyez le premier à donner votre avis sur cette source.

Vue 10 899 fois - Téléchargée 1 358 fois

Description

Cet ActiveX permet de gérer le mouse over ou mouse out, pour tout un groupe d'objets, qui font partie du container hooké.

Il vous permetra de gérer le MouseOut et MouseOver qui ne sont pas présents en Visual Basic.

Cette source aura un petit tutorial sur mon blog, mais j'ai pas encore eu le temps de le rédiger.

Une partie de cette source est tirée du vbAccelerator (le systéme de saisie de property - le changer en liste d'objets / la classe lMouseParam)

Sinon, pur les puristes du VB, je pense qu'ils pourront se régaler avec ce code. UN projet d'exemple est joint.

Source / Exemple :


' --  GoTo The Zip --

' --> Ptit tutoriel sur le hook : http://blogs.developpeur.org/akhenathon/articles/1840.aspx

Conclusion :


BUGS et CONSTATIONS :

- Faut jamais mettre l'objet MouseHook en plan avant le container Hooké car VB va essayer de le créer avant, or l'objet contient des pointeurs vers l'objet hooké qui lui n'existe pas encore, donc --> Bug

- Le relayement du Message n'est transmis qu'au premier controle MouseHook trouvé :
Vous hookéz une feuille, et dans celle-ci vous crééz un pictureBox. Si L'objet Hook du pictureBox est créé avant celui de la feuille, lors d'un message MouseMove par exemple, l'evenement ne sera généré que pour le PictureBox. Des mises à jour viendront pour cet inconvénient.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1079
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
1 janvier 2012

Merci de tes explications et rassure toi je sais regarder, je n'ai pas dis que ton code n'était pas riche.... J'ai été un peu bref hier soir !

Bonne continuation !

Moustachu
Messages postés
276
Date d'inscription
dimanche 22 juillet 2001
Statut
Modérateur
Dernière intervention
5 décembre 2013

MouseOver s'execute qu'une seule fois, quand la souris arrive sur l'objet pour la premiere fois, le mouse move c'est l'evenement quand elle se déplace. C'est une nuance si tu veux executer une action que seulement quand la souris est sur l'objet, tu vas pas la mettre dans mousemove sinon elle se reproduirais X fois ...

Si tu veux comprendre pk ça peut poser probléme, fais un label, et sur son mouse move, mets label1.caption = X & " - " & Y
tu verras comment il clignote ---> le pc à du mal à tout calculer et l'afficher en instantané. Imagines alors un graphique ou autre...

Et puis au déla de la fonctionnalité de cet activeX, c'est interessant comme exemple, puisque l'activeX à un propriétée contrainer, qui est une liste des objets d'une form ... et qu'en principe VB est incapable de faire ça ... sur un property ... donc j'ai utilisé une methode d'extension des fonctionnalitées de VB. Puis le module de Hook ...

Bréf le code est vraiment riche. A vous de savoir regarder
Messages postés
1079
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
1 janvier 2012

Pas mal même si déjà vu sur le site. Le MouseOver existe déjà dans VB (MouseMove) à moisn que tu ne veuilles perler d'autre chose..

++
Moustachu

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.