IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Roulette sous Access 2003


Sujet :

IHM

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 180
    Points : 107
    Points
    107
    Par défaut Roulette sous Access 2003
    Bonjour,

    J'ai trouvé les scripts et dll pour aciver la roulette sur les anciennes version d'Access mais ca ne marche pas sur Access 2003...
    Alors comment peut on faire pour activer la roulette???

    D'avance merci

    Ben

  2. #2
    Membre régulier Avatar de DeFCrew
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 167
    Points : 94
    Points
    94
    Par défaut
    Bonjour,

    Tu voudrais Activer et Désactiver la roulette à ta convenance c'est ça ?

    Ou juste l'activer ? (non parce que si me souviens bien la roulette est déjà activer initialement non ?)

    Juste pour savoir

  3. #3
    Membre régulier Avatar de DeFCrew
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 167
    Points : 94
    Points
    94
    Par défaut
    si sa t'interresse j'ai trouvé ça sur le net

    Télécharge la DLL, place la dans le même répertoire que ta base de donnée, puis recopie ça dans ta form principale :

    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
     
    Private Sub ON_Click()
      ' Turn the MouseWheel On
    Dim blRet As Boolean
    blRet = MouseWheelON
    End Sub
     
    Private Sub OFF_Click()
    ' Turn the MouseWheel Off
    Dim blRet As Boolean
    ' Call our MouseHook function in the MouseHook dll.
    ' Please not the Optional GlobalHook BOOLEAN parameter
    ' Several developers asked for the MouseHook to be able to work with
    ' multiple instances of Access. In order to accomodate this request I
    ' have modified the function to allow the caller to
    ' specify a thread specific(this current instance of Access only) or
    ' a global(all applications) MouseWheel Hook.
    ' Only use the GlobalHook if you will be running multiple instances of Access!
    blRet = MouseWheelOFF(True, False)
    End Sub
    Puis ajoute ce module

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
     
    Option Compare Database
    Option Explicit
     
    Private Declare Function LoadLibrary Lib "kernel32" _
    Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
     
    Private Declare Function FreeLibrary Lib "kernel32" _
    (ByVal hLibModule As Long) As Long
     
    Private Declare Function StopMouseWheel Lib "MouseHook" _
    (ByVal hWnd As Long, ByVal AccessThreadID As Long, _
    Optional ByVal bNoSubformScroll As Boolean = False, Optional ByVal blIsGlobal As Boolean = False) As Boolean
     
    Private Declare Function StartMouseWheel Lib "MouseHook" _
    (ByVal hWnd As Long) As Boolean
     
    Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
     
    ' Instance returned from LoadLibrary call
    Private hLib As Long
     
     
    Public Function MouseWheelON() As Boolean
    MouseWheelON = StartMouseWheel(Application.hWndAccessApp)
    If hLib <> 0 Then
        hLib = FreeLibrary(hLib)
    End If
    End Function
     
    Public Function MouseWheelOFF(Optional NoSubFormScroll As Boolean = False, Optional GlobalHook As Boolean = False) As Boolean
    Dim s As String
    Dim blRet As Boolean
    Dim AccessThreadID As Long
     
    On Error Resume Next
    ' Our error string
    s = "Sorry...cannot find the MouseHook.dll file" & vbCrLf
    s = s & "Please copy the MouseHook.dll file to your Windows System folder or into the same folder as this Access MDB."
     
    ' OK Try to load the DLL assuming it is in the Window System folder
    hLib = LoadLibrary("MouseHook.dll")
    If hLib = 0 Then
        ' See if the DLL is in the same folder as this MDB
        ' CurrentDB works with both A97 and A2K or higher
        hLib = LoadLibrary(CurrentDBDir() & "MouseHook.dll")
        If hLib = 0 Then
            MsgBox s, vbOKOnly, "MISSING MOUSEHOOK.dll FILE"
            MouseWheelOFF = False
            Exit Function
        End If
    End If
     
    ' Get the ID for this thread
    AccessThreadID = GetCurrentThreadId()
    ' Call our MouseHook function in the MouseHook dll.
    ' Please not the Optional GlobalHook BOOLEAN parameter
    ' Several developers asked for the MouseHook to be able to work with
    ' multiple instances of Access. In order to accomodate this request I
    ' have modified the function to allow the caller to
    ' specify a thread specific(this current instance of Access only) or
    ' a global(all applications) MouseWheel Hook.
    ' Only use the GlobalHook if you will be running multiple instances of Access!
    MouseWheelOFF = StopMouseWheel(Application.hWndAccessApp, AccessThreadID, NoSubFormScroll, GlobalHook)
     
    End Function
     
     
    '******************** Code Begin ****************
    'Code courtesy of
    'Terry Kreft & Ken Getz
    '
    Function CurrentDBDir() As String
    Dim strDBPath As String
    Dim strDBFile As String
        strDBPath = CurrentDb.name
        strDBFile = Dir(strDBPath)
        CurrentDBDir = Left$(strDBPath, Len(strDBPath) - Len(strDBFile))
    End Function
    '******************** Code End ****************
    Voila, maintenant, (moi ça fonctionne et j'ai Access 2003), ça devrait fonctionner.

    Il suffit juste d'appeler les procédures fraichement créer pour simplement Activer ou Désactiver la roulette.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 180
    Points : 107
    Points
    107
    Par défaut
    Mon but est de pouvoir scroller avec la roulette sur mes formulaire plutot que de faire défiler mes enregistrements et je vais essayer ton code merci!

  5. #5
    Membre régulier Avatar de DeFCrew
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 167
    Points : 94
    Points
    94
    Par défaut
    Cette fonction est disponible dans le module, si tu parle Anglais tu devrais trouver la solution dans les commentaires...

    Bonne chance !

  6. #6
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    Deux tutos intérréssant créez par argyronet et arkham46 en plus il sont en Français!

    http://argyronet.developpez.com/offi...spinupanddown/
    http://arkham46.developpez.com/artic...ss/mousewheel/


    Dolphy35

  7. #7
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 180
    Points : 107
    Points
    107
    Par défaut
    Je ne trouve pas j'ai coment scroller
    - donc créé un module que j'ai nommé mouse
    - j'ai copier le code que tu m'indiquait dans mon form
    - j'ai créé un boutton "on" qui fait appel à la procédure ON_Click
    - j'ai créé un boutton "off" qui fait appel à la procédure OFF_Click

    Mais rien ne se passe...

  8. #8
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 180
    Points : 107
    Points
    107
    Par défaut
    http://argyronet.developpez.com/offi...spinupanddown/
    => n'est pas sur le même sujet
    Et http://arkham46.developpez.com/artic...ss/mousewheel/ =>
    "Malheureusement le code de cette dll n'est pas très fiable et ne fonctionne pas sur Access 2003"

  9. #9
    Membre régulier Avatar de DeFCrew
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 167
    Points : 94
    Points
    94
    Par défaut
    Renomme ton module "modMouseHook" et normalement plus de problème.

    Et surtout pense bien a mettre ta dll dans le même repertoire que ta base mdb ou mde

    Dis moi si tu réussi

    @++

  10. #10
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 180
    Points : 107
    Points
    107
    Par défaut
    J'ai renommé mais ca ne fonctionne pas!
    Apparement, il n'arrive pas a charger la dll vu que il me répond false à blRet = MouseWheelON...

  11. #11
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Citation Envoyé par the big ben 5
    Ok j'ai mal lu ton post.

    Citation Envoyé par the big ben 5
    http://arkham46.developpez.com/artic...ss/mousewheel/ =>
    "Malheureusement le code de cette dll n'est pas très fiable et ne fonctionne pas sur Access 2003"
    Tu n'a pas lu jusqu'au bout le paragraphe
    Citation Envoyé par arkham46
    II. La librairie dll fournie par Microsoft Microsoft fourni ICI une dll qui permet d'annuler l'action de la roulette de la souris.
    Malheureusement le code de cette dll n'est pas très fiable et ne fonctionne pas sur Access 2003.

    Voici la liste des disfonctionnements que l'on a pû relever :
    - incompatibilité avec Access 2003 (apparemment conflit de nom avec le nouvel événement Mousewheel);
    - l'utilisation de la dll dans un sous-formulaire et son parent rend le sous-formulaire inaccessible;
    - la fermeture du formulaire lors d'un aperçu avant impression fait crasher l'application;
    - l'utilisation de la dll dans plusieurs formulaires est mal gérée, l'événement est renvoyé dans le dernier formulaire uniquement.
    --> il n'est donc pas possible de conditionner l'action de la roulette dans les autres formulaires car ils ne reçoivent pas l'événement;

    Et il manque à mon goût une information utile dans l'événement :
    - dans quel sens a été déplacée la roulette? Cette information est utile si on désire exécuter une action spécifique.


    C'est pour toutes ces raisons que j'ai développé une nouvelle librairie dll, baptisée pour l'occasion MouseWheelDVP.
    C'est la dll de microsoft qui n'es pas très fiable et qui ne fonctionne pas sou Access 2003 -> la dll d'Arkham fonctionne très bien.

    Dolphy

  12. #12
    Membre régulier Avatar de DeFCrew
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 167
    Points : 94
    Points
    94
    Par défaut
    Regarde ce fichier et dis moi si sa fonctionne

    Il ya tout ce dont tu as besoin.

    En esperant que a fonctionne chez toi

  13. #13
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 180
    Points : 107
    Points
    107
    Par défaut
    DeFCrew => non ca ne marche pas mieux...

    Dolphy35 => sorry je regarde ca plus en détail alors...

  14. #14
    Membre régulier Avatar de DeFCrew
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 167
    Points : 94
    Points
    94
    Par défaut
    Désolé The Big Ben 5 si sa ne fonctionne pas, c'est vraiment étrange.

    Moi aussi j'avais beaucoup de mal à trouver un code qui permette de désactiver la roulette ou de scroller, et pourtant j'ai bien Access 2003.

    En plus, celui que je te proposait ne necessite pas d'enregistrer la dll, ni de la mettre en référence.

    Car moi non plus les tutorial sur ce merveilleux site(forum) ne fonctionnait pas, comme toi.

    Vraiment dommage car très pratique.
    (tu as essayé de scroller la TextBox dans le MDB que j'ai mis à ta disposition ? J'imagine que oui, mais c'est pour être sûr.. ?)

    Re telecharge MouseHook et test le MDB, je l'ai changer et tester sur deux pc différent, la sa dois fonctionner sinon...

    Bonne chance
    Fichiers attachés Fichiers attachés

  15. #15
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 180
    Points : 107
    Points
    107
    Par défaut
    Cool ca marche avec le code avec le tuto de arkham46

    Un grand emrci a tous!!!!

  16. #16
    Membre régulier Avatar de DeFCrew
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 167
    Points : 94
    Points
    94
    Par défaut
    Bon et bien tant mieux alors, content pour toi
    @++

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 43
    Points : 27
    Points
    27
    Par défaut
    bonjour à tous

    j'ai essayé d'utiliser MouseHook.dll, ça marche sur un PC mais pas sur celui d'à côté, le code me renvoit un message d'erreur me disant qu'il ne trouve pas la dll alors qu'elle est bien dans le même dossier que le mdb.

    En fait j'ai le même pb avec une autre dll (celle arkham46) qui ne se charge pas non plus sur ce PC.

    avez-vous une idée de ce qui peut bien se passer ???

    merci de votre aide, je commence à craquer....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. programmer en vb .net sous access 2003
    Par rideom dans le forum Access
    Réponses: 4
    Dernier message: 20/07/2006, 14h59
  2. Taille d'une zone de texte dans un état sous Access 2003
    Par Petite grenouille dans le forum Contribuez
    Réponses: 4
    Dernier message: 15/05/2006, 19h39
  3. Problème de table liées sous Access 2003
    Par FuRioX dans le forum Access
    Réponses: 2
    Dernier message: 05/04/2006, 12h19
  4. Probleme formulaire sous access 2003
    Par pedrosystem dans le forum Access
    Réponses: 2
    Dernier message: 28/02/2006, 17h02
  5. PB importation classeur excel sous access 2003
    Par techinfo37 dans le forum Access
    Réponses: 6
    Dernier message: 04/10/2005, 20h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo