Scroll avec la molette sur une msflexgrid

Soyez le premier à donner votre avis sur cette source.

Vue 9 530 fois - Téléchargée 1 660 fois

Description

J'ai longtemps cherché mais je n'ai pas trouvé grand chose.
Je voulais pouvoir faire défiler ma flexgrid avec la molette de la souris, l'ascenceur étant très lourd à force.

Source / Exemple :


' tout est dans le zip

Conclusion :


Je me suis inspiré de la source 1745 mais je ne passe ni par un module de classe, ni par un contrôle utilisateur. La fonction à utiliser sont dans un module et il n'y a rien à changer pour le faire marcher dans votre cas...

ATTENTION : la propriété FormScale de votre formulaire doit être impérativement à 'pixels', sinon VB ne détectera pas que vous êtes au-dessus de la grille.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
3
Date d'inscription
dimanche 16 juillet 2006
Statut
Membre
Dernière intervention
16 avril 2013

Merci beaucoup pour le code , c'est simple et fonctionnel dans une Form à 1 seul flexgrid, mais avec plusieurs Flexgrid ça fonctionne pas correctement, un seul grid fonctionne, les autres non !!
>>
J'ai modifié le code de la Form de telle sorte que l'évenement de Hook se déclenche à chaque GotFocus du flexgrid et se décharge à son LostFocus, c-à-d comme ça :

'Déclenchement
Private Sub grid1_GotFocus()
HookGrid Form1, grid1
End Sub

'Déchargement
Private Sub grid1_LostFocus()
unHookGrid
End Sub

et de ce fait, on peut déclencher le Hook à chaque prise en charge d'un Flexgrid

>> Je vous invite à tester cette méthode et me faire réponse,
Cette conversation est bien très utile
Messages postés
330
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
26 octobre 2017

C'est le meilleur exemple et le surtout le PLUS SIMPLE de tous ceux que j'ai pu voir sur le Net
Bravo et Merci
Messages postés
332
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
10 avril 2020
1
J'ai trouvé tout simplement génial et sa marche !
10/10 on peux pas plus !
Messages postés
1
Date d'inscription
mardi 2 janvier 2007
Statut
Membre
Dernière intervention
24 juillet 2008

Remarque:
. les constantes WM_MOUSELAST,WM_MOUSEWHEEL,WH_GETMESSAGE,
. les types POINTAPI,MSG
. les variables hHook,feuille,grille
. la fonction GetMsgProc
Ne sont utilisés que dans le module souris.

Je recommande de les déclarer en PRIVATE.
En effet, en PUBLIC, ils peuvent provoquer des conflits avec
la même déclaration dans un autre module.
Messages postés
12
Date d'inscription
dimanche 26 octobre 2003
Statut
Membre
Dernière intervention
2 janvier 2013

Merci Wyz pour cette source. Dans mon cas, ca marche très bien sur une form "normale" avec une seule Msflexgrid.
En revanche, ca ne veut pas fonctionner quand il y a plus d'une msflexgrid !
(Dans le formload, j'y indique
HookGrid Me, MSFlexGrid1
HookGrid Me, MSFlexGrid2

De même, ca ne fonctionne pas sur une form MDI, aie petit couac. Mais grand merci car c'est du beau travail. ;)
Afficher les 21 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.