Bonjour,
J'ai suivi les conseil de ce post:
http://www.developpez.net/forums/sho...molette+souris
mais cela ne fonctionne pas. J'ai bien bloqué le fonctionnement de la souris au préalable.
Si quelqu'un a une idée?
Jocelyn
Bonjour,
J'ai suivi les conseil de ce post:
http://www.developpez.net/forums/sho...molette+souris
mais cela ne fonctionne pas. J'ai bien bloqué le fonctionnement de la souris au préalable.
Si quelqu'un a une idée?
Jocelyn
c'est quoi exactement le problème?
bjr,
c'est ici :
http://arkham46.developpez.com/artic...ss/mousewheel/
Pour être plus précis je me retrouve avec une erreur sur l'événement roulement de la souris qui me dit:
"erreur de compilation: Sub ou Function non définie"
Mon code pour l'événement est le suivant:
Avis aux amateurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long) SendMessage Me.hWnd, WM_VSCROLL, SB_LINEDOWN, 0& End Sub
Cordialement,
Jocelyn
Après plusieurs essais j'obtient toujours ce message:
"L'expression sur ouverture entrée comme paramètre de la propriété de type événement est à l'origine d'une erreur.Type défini par l'utilisateur non défini.
*Le résultat de l'expression n'est pas le nom d'une macro, le nom d'une fonction définie par l'utilisateur ou [Event Procedure].
*Une erreur a peut être été commise lors de l'évaluation d'une fonction, d'un événement ou d'une macro"
Comprends rien.
Si quelqu'un a une idée car je vois pas?
Merci,
Jocelyn
C'est bon j'ai trouvé le problème. J'utilisais une dll différente de celle proposé sur le tuto proposé par arkham avec le code du tuto. Je pensais que les dll pour la souris étaient toutes les mêmes.
Cela fonctione donc bien.
Par contre je sais que je peux modifier la vitesse de défilement en modifiant le pas. Sur le tuto c'est écrit ceci:
"Delta : déplacement de la roulette par pas de 120 : 120 correspond à un déplacement de un pas vers le haut, -120 vers le bas"
Comment puis-je modifier cela?
Merci,
Jocelyn
Quelqu'un pourrai m'expliquer comment fonctionne le "Delta", please car je n'arrive pas à trouver quoi que ce soit la dessus?
Merci,
Jocelyn
Un nouveau problème vient d'apparaitre. La molette de la souris ne fonctionne plus si je clic dans la zone de mon sous formulaire.
En faite j'ai un formulaire dans lequel j'ai un sous formulaire. Mon sous formulaire représente la seconde partie demon formulaire principal. Lorsqu je navigue sur mon formulaire à l'aide de la molette pas de souci mais si je clic dans la seconde partie (où il y a mon sous formulaire) alors celle ci sera bloqué.
Comment puis-je faire?
Jocelyn
salut,
si j'ai bien compris ce qu tu souhaites, la réponse est ici :
http://www.developpez.net/forums/sho...=wm_mousewheel
Bonsoir Arkham!!!
Merci pour ta réponse. Je pense que cela devrait résoudre résoudre mon problème. Mon souci est que j'utilise la dll que tu m'as présenté dans le lien précédent et je ne sais pas si c'est la même chose.
Je t'explique:
J'ai copier le code du tuto qui fait référence à ton premier lien dans mon formulaire et dans mon sous formulaire. Mon souci c'est que je ne sais pas ou copier le code de ton nouveau lien et est-ce que celui-ci fonctionnera avec la dll que j'ai téléchargé de ton premier lien?
J'ai testé de copier le code dans le formulaire puis dans le sous formulaire mais j'ai une erreur. De plus je ne sais pas pourquoi certain mot sont en rouge. Faut il que je les changent en autre chose?
Tu vas me trouver mauvais mais je suis néophite de chez néophite.
Mon appli devra fonctionner sous accès 2003.
Si tu souhaites voir mon appli tu la trouveras au lien ci dessous:
http://www.developpez.net/forums/sho...d.php?t=197073
J'arrive au bout mais j'ai ramé
Je suis désolé mais j'effectue toujours une recherche dans les forums avant de demander quelque chose mais j'aiutilisé les mots clés molette et sous-formulaire et je n'avais pas trouvé topn lien.
Merci encore!
Amicalement,
Jocelyn
MERCI BEAUCOUP ARKHAM!!!!
Après une heure de test dans tous les sens je viens de comprendre et cela fonctionne parfaitement.
J'explique un peu pour ceux qui suivront:
1- Suivre les indications du premier lien d'Arkham: Télécharger la dll,l'installer en suivant l'une des procédures et copier les lignes de code dans votre formulaire et dans votre sous formulaire.
2- Copier les lignes de code du second lien d'Arkham et les coller dans le sous formulaire. Attentionn ne pas oublier de supprimer une parti du code du premier collage dans le sous formulaire. Celui de l'événement "Private Sub clMouseWHeel_MouseWheel" (erreure stupide que j'ai fais).
3- Faite rouler la molette à fond les manettes car c'est nikel.
Un grand coup de chapeau à Arkham
Amicalement,
Jocelyn
ok c'est cool!
Oui mais moi j'ai triché, je connaissais le code, j'ai cherché avec le mot clé WM_MOUSEWHEEL...Je suis désolé mais j'effectue toujours une recherche dans les forums avant de demander quelque chose mais j'aiutilisé les mots clés molette et sous-formulaire et je n'avais pas trouvé topn lie
bye
Bonjour,
j'ai un petit souci avec la dll d'Arkham46
j'ai bien enregistré la dll dans la liste de mes références mais à l'ouverture du formulaire j'obtiens l'erreur 429 : "Un composant ActiveX ne peut pas créer un objet"
C'est la ligne suivante qui pose problème :
(je bosse sous Access97)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set clMouseWHeel = New MouseWheelDVP.cMouseWheel
bjr,
Est-ce que tu as les droits d'admin sur le PC??
Essaye d'enregistrer la dll avec démarrer -> exécuter :
Certains messages d'erreurs ne sont pas affichés lors du référencement dans Access.
Code : Sélectionner tout - Visualiser dans une fenêtre à part regsvr32.exe C:\TonChemin\MouseWheelDVP.dll
Merci Arkham. Je n'ai déjà plus de message d'erreur. Par contre je n'arrive toujours pas à capter l'événement MouseWheel. Mon formulaire se charge correctement mais la molette n'a aucun effet...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub clMouseWHeel_MouseWheel(Cancel As Integer, FormScroll As Integer, Delta As Long) ' Annule l'action de la roulette 'Cancel = True MonControlActiveX.ActiveWindow.SmallScroll Down:=1 End Sub
clMouseWHeel est-il bien déclaré dans l'en-tête du formulaire, avec withevents?
est-ce que la procédure évenementielle est exécutée (à vérifier avec un point d'arrêt)?
Est-ce que ça peut venir du fait que je sois sous Access97 ?
Si on reprend : j'ai ajouté la dll MouseWheel à mes références et le code suivant dans mon formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Option Compare Database Option Explicit Private WithEvents clMouseWHeel As MouseWheelDVP.cMouseWheel Private Sub Form_Load() Set clMouseWHeel = New MouseWheelDVP.cMouseWheel Set clMouseWHeel.Form = Me DoCmd.Maximize End Sub Private Sub clMouseWHeel_MouseWheel(Cancel As Integer, FormScroll As Integer, Delta As Long) Cancel = True CtlActiveX17.ActiveWindow.SmallScroll Down:=1 End Sub Private Sub Form_Close() If Not (clMouseWHeel Is Nothing) Then Set clMouseWHeel = Nothing End If End Sub
Bjr,
Sous 97 ça fonctionne, j'étais sous 97 quand j'ai fait la dll.
Il faudrait vérifier que le Form_Load est bien exécuté.
Eventuellement faire un test dans une nouvelle base de données pour vérifier.
Est-ce que la base de test fonctionne?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager