Addin wheel vb : active la roulette dans vb

Soyez le premier à donner votre avis sur cette source.

Vue 14 513 fois - Téléchargée 1 881 fois

Description

Bon alors je vous vois venir en disant que ça existe déjà.

Et bien oui, EBArtSoft et Metalcoder (pour SDI) en ont déjà fait un.

Ils sont d'ailleurs disponibles ici:
http://www.vbfrance.com/code.aspx?ID=21802
http://www.vbfrance.com/codes/UTILISER-ROULETTE-DANS-VB6-IDE-ADDIN-V2_27453.aspx

J'étais content de trouver enfin un moyen de faire fonctionner la roulette de ma souris dans VB!!!

Mais je suis dans un environnement de développement SDI donc je télécharge la version 2 (celle de Metalcoder) censée fonctionner avec ma configuration...

Et en fait, ça ne marche pas vraiment bien. J'arrive à faire défiler une fois sur cinq en enlevant et redonnant le focus à ma fenêtre. Bref, c'etait pas vraiment ça...

Je me suis donc attelé à la tâche car pouvoir profiter d'une telle fonction dans VB et voir que chez les autres ça marche et pas chez moi, et ben ça c'est pas cool...

Je ne mets évidemment pas ce code pour plagier les deux sources citées ci-dessus. Je vous propose juste quelque chose qui fonctionne. Libre à vous de choisir votre version.

Je précise quand même que ça fonctionne dans les deux environnements (SDI ou pas) et ça gère aussi le mode double fenêtre (voir capture). Une petite option sympa est que lorsque l'on appuie sur Ctrl gauche et que l'on défile, ça navigue de procédures en procédures.

Côté technique, ça installe un Hook bas niveau sur la molette de la souris (je l'ai traduit d'un code C++). Lors d'un wheel, on regarde si la fenêtre qui a le focus et une fenêtre de code VB. Si oui, en fonction de la position de la souris on défile la ScrollBar correspondante.

Pour le nombre de lignes à défiler et choisir d'activer ou pas cet AddIn, cliquez sur le menu Compléments puis Paramètrer la roulette. Ici vous choisissez de défiler de 1 à 20 lignes. Les changements prennent effet immédiatement.

Le projet se compose de l'AddIn et d'un projet normal. En fait l'AddIn se contente juste de lancer le prog externe qui gère la molette. J'ai fait ça car sinon, il y avait un temps de latence à la fermeture des fenêtres. Ainsi le hook est géré dans un processus à part. Déjà ça évite à VB de planter en même temps que le prog si plantage il y a. Et le prog détecte si VB est toujours lancé sinon il quitte, tout simplement...

Donc laissez bien la DLL et le .EXE dans le même répertoire.

J'ai testé en ouvrant pleins de fenêtres de projet différentes et je n'ai pas eu de bug...

------------------

Dans le dossier "Projet", j'ai mis un exemple de défilement sur un MsFlexGrid suite à une question posée plus bas dans un des commentaires...
Et tant que j'y étais j'ai mis un autre exemple avec le composant ScrollBar de VB...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
13
Date d'inscription
jeudi 5 février 2004
Statut
Membre
Dernière intervention
23 avril 2008

Très utile comme code et ça fonctionne impeccablement. Merci Clementio!
Messages postés
24
Date d'inscription
jeudi 21 novembre 2002
Statut
Membre
Dernière intervention
20 février 2010

Je viens de découvrir cet addin et j'essaye de le faire fonctionner avec un datagrid.
Un petit coup de main svp.

a bientot
Messages postés
233
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
21 février 2009
1
Je trouve cet addin superbe, je cherchais depuis bien longtemps à le faire merci beaucoup.
Je le recommande à tous les utilisateurs de VB

Bonne prog et bonne continuation
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
64
je l'avait pas vue avant ta source Clem'

me rappelle certaines questions que tu m'avais posées sur le hook MOUSE_LL, y'a quelques temps, c'était donc (je suppose, a posteriori) pour ça ^^
Messages postés
55
Date d'inscription
lundi 23 août 2004
Statut
Membre
Dernière intervention
1 août 2008

je me sers des 2 depuis 2 ans sans aucun pb
j'ai aussi un driver Logitech Itouch 2.22 289 mais il ne gère pas le scroll molete quand la fenetre de code est partagée . J'ai ajouté le driver de Labtech Mouse32a.exe version 2.0
le scroll molette est ok dans les 2 demie fentres
A+
Afficher les 44 commentaires

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.