évènement sur coup de molette (sur formulaire)

Résolu
timotep Messages postés 34 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 16 janvier 2008 - 5 avril 2007 à 16:24
timotep Messages postés 34 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 16 janvier 2008 - 6 avril 2007 à 09:23
Bonjour,

Voilà mon problème. J'ai reproduit à peu près le même système que accès sur un formulaire en vb.net, avec accès à une base de données. J'ai donc des boutons <<    et   >>  pour faire défiler les enrgistrements, sur clic de la souris.

Question : comment faire pour que sur coup de molette de la souris vers le haut, il avance d'un enregistrement, et sur coup de la molette de la souris vers le bas, il recule d'un enregistrement ?

En resumé, sur molette vers le haut : executer une fonction x
sur molette vers le bas: executer une fonction y

Merci d'avance.

7 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
5 avril 2007 à 20:39
En VB 2005 l'idée de Nicko donneras ceci :

    Private Sub Form1_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseWheel
        If e.Delta > 0 Then
            Call Button1_Click(Button1, New System.EventArgs)
        Else
            Call Button2_Click(Button1, New System.EventArgs)
        End If
        Me.Refresh()
    End Sub

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
3
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
5 avril 2007 à 16:34
Salut, voir evenement

Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)

'On décrémente la valeur si le mvt de la roulette est descendant et que l'on ne se trouve pas au premier enregistrement
If (Count > 0) then
   call bonton1_click

'On incrémente la valeur si le mvt de la roulette est ascendant et que l'on ne se trouve pas au dernier enregistrement
ElseIf (Count < 0 ) Then
      call bonton2_click

end if
end sub

si j'ai bien compris tu as des bontons qui marche.

tu dois faire attention si tu est au premier enregistrment et si tu est au dernier
0
timotep Messages postés 34 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 16 janvier 2008
5 avril 2007 à 16:59
Je ne comprends pas comment faire pour que cette fonction s'exécute sur coup de molette. Je n'ai pas l'évènement "MouseWheel" dans les évènements dispo du formulaire, et si je mets la fonction dans le code, il ne l'exécute pas sur coup de molette. Où est mon erreur ?

Le nom de la fonction devrait être, si je ne me trompe pas "NomFormulaire_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)" non?

Est-ce que ce ne serait pas plutôt l'évènement "scroll" avec lequel je dois travailler?

Merci encore pour ta réponse rapide :-) mais ce n'est sans compter que je ne suis pas très doué :-)
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
5 avril 2007 à 17:17
Salut Nicko,

Je ne vois pas où timotep aurait dit qu'il développait sous VBA Access .... et il est ici dans la section VB6
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
timotep Messages postés 34 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 16 janvier 2008
5 avril 2007 à 17:25
Désolé, je croyais être dans la section VB.net. J'ai dû me tromper
0
timotep Messages postés 34 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 16 janvier 2008
5 avril 2007 à 18:07
Ouf, les admin ont remise le post dans la bonne section. MErci !!

Je n'ai toujours pas réussi à faire ce que je voulais, si quelqu'un peut m'aider!
0
timotep Messages postés 34 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 16 janvier 2008
6 avril 2007 à 09:23
Merci beaucoup pour ton aide, ça fonctionne bien.
Encore merci !

Timotep :-)
0
Rejoignez-nous