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 :

[A-03] Invalider la roulette souris dans les formulaires


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 40
    Points : 29
    Points
    29
    Par défaut [A-03] Invalider la roulette souris dans les formulaires
    Access 2003 et Windows XP Home.
    Bonjour à tous,

    J'ai bien regardé le sujet déja traité ici :

    http://arkham46.developpez.com/artic...eelnoreg/#LV-A

    Gestion de la roulette de la souris dans les formulaires (dll sans référencement) Date de publication : 04/10/06 , Date de mise à jour : 04/10/06
    Par Thierry GASPERMENT[/B]
    Je suis novice en Access, je voudrais suivre la procédure énumérée :

    - V Comment utiliser la librairie
    - V-A. Avec la librairie dans le répertoire système

    Je n'ai pas compris "Ajoutez ensuite dans le module du formulaire les déclarations des procédures de la librairie."

    Ensuite "Pour bloquer la roulette, appelez la fonction MouseWheelHook " C'est une fonction que j'appelle à partir d'ou ?

    Pareil "Pour débloquer la roulette empêchant le changement d'enregistrement,, appelez la fonction MouseWheelUnHook" ?

    Un grand merci pour votre aide

  2. #2
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    1. Il te suffit de copier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Declare Sub MouseWheelHook Lib "MouseWheelDVPNoReg.dll" _
             (ByVal pHwnd As Long, ByVal pScrollForm As Boolean)
    Private Declare Sub MouseWheelUnHook Lib "MouseWheelDVPNoReg.dll" _
             (ByVal pHwnd As Long)
    dans la partie supérieure du code de ton formulaire, juste après
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Option Compare Database
    Option Explicit
    2. Je suppose sur l'évènement ouverture du formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Open(Cancel As Integer)
       MouseWheelHook Me.Hwnd, False
    End Sub
    3. Là c'est en fonction du besoin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MouseWheelUnHook Me.Hwnd
    Bon courage,

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 40
    Points : 29
    Points
    29
    Par défaut
    Merci Gabout,
    Je ne comprenais pas la 1ere partie ou la mettre car :
    Option Compare Database
    Option Explicit, je n'ai pas Option Explicit.
    J'ai mis après Option Compare Database.

    Ensuite a l'ouverture j'ai mis True à la place de False pour conserver le déplacement vertical.
    Et la 3ème partie en sortant du formulaire.
    Tout fonctionne mais il faut le répeter sur chaque formulaire.


    Quand le lance mon fichier.mdb, j'arrive sur un formulaire d'acceuil et je pense qu'il serait possible d'installer les 2 premières parties dans ce formulaire.
    Par contre la sortie peut etre faite n'importe comment, jai bien une sortie propre par une macro "Quitter" avec auparavant un enregistrement mais j'ai toujours la croix rouge Windows qui permet de sortir en sauvage.

  4. #4
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Option Explicit impose la déclaration de toutes les variables du module. L'instruction doit être écrite avant toute procédure.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Option Compare Database
    Option Explicit
     
    Dim MaVariableUne As string
    Dim MaVariableDeux As Long
    Dim MaVariableTrois As Boolean
     
    Sub TaSub()
     
    End Sub
    Si tu tentes d'utiliser une variable non déclarée, cela provoque une erreur lors de la compilation. C'est donc de première importance pour t'aider à déboguer une application.

    On peut "forcer" Access a placer cette instruction automatiquement. Dans l'éditeur VBA, menu Outils ==> Options ==> Onglet "Editeur", cocher "Déclaration des variables obligatoire".

    Tout fonctionne mais il faut le répeter sur chaque formulaire.
    Oui.

    Quand le lance mon fichier.mdb, j'arrive sur un formulaire d'acceuil et je pense qu'il serait possible d'installer les 2 premières parties dans ce formulaire.
    Je ne pense pas (mais jamais testé). A essayer, et le retour m'intéresse.

    Par contre la sortie peut etre faite n'importe comment, jai bien une sortie propre par une macro "Quitter" avec auparavant un enregistrement mais j'ai toujours la croix rouge Windows qui permet de sortir en sauvage.
    On peut l'inhiber, voir ici.

    Domi2

  5. #5
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    Pour compléter le message de Domi2 , je pense que tu seras obligé de répéter cette procédure pour chaque formulaire concerné (il est quelques fois utile de pouvoir disposer de la roulette !).

    Enfin, relis le tuto car
    Remarque : Il n'est pas nécessaire de débloquer la roulette à la fermeture du formulaire.
    A+

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 40
    Points : 29
    Points
    29
    Par défaut
    Bonjour et encore merci de vos conseils,
    Effectivement j'ai répété la procédure dans les 2 formulaires qui me posaient problème, ça me convient.

    Je ne saisi pas bien "Option Explicit impose la déclaration de toutes les variables du module. L'instruction doit être écrite avant toute procédure".
    Pour la procédure de la souris, voila ce que j'ai dans la partie supérieure et je ne vois pas apparaitre le terme "Option Explicit" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Option Compare Database
    Private Declare Sub MouseWheelHook Lib "MouseWheelDVPNoReg.dll" _
             (ByVal pHwnd As Long, ByVal pScrollForm As Boolean)
    Private Declare Sub MouseWheelUnHook Lib "MouseWheelDVPNoReg.dll" _
             (ByVal pHwnd As Long)

  7. #7
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Option Explicit est une ligne de code comme une autre...

    Si elle manque, tu l'insères manuellement, dans tous tes modules.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Option Compare Database
    Option Explicit
     
    Private Declare Sub MouseWheelHook Lib "MouseWheelDVPNoReg.dll" _
    (ByVal pHwnd As Long, ByVal pScrollForm As Boolean)
    Private Declare Sub MouseWheelUnHook Lib "MouseWheelDVPNoReg.dll" _
    (ByVal pHwnd As Long)
    Si tu coches l'option que je t'ai indiquée, l'instruction s'insérera automatiquement lors de la création de nouveaux modules.

    Pour plus d'info, tu sélectionnes Explicit et tu tapes F1.

    Si ce n'est encore pas clair, tu reviens...

    Domi2

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 77
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 40
    Points : 29
    Points
    29
    Par défaut
    Merci à tous de vos réponses.

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

Discussions similaires

  1. roulette souris dans les formulaires
    Par dflamme dans le forum IHM
    Réponses: 15
    Dernier message: 29/02/2012, 21h01
  2. [AC-2003] Activer la roulette de la souris dans un formulaire
    Par moilou2 dans le forum IHM
    Réponses: 0
    Dernier message: 03/07/2009, 11h04
  3. Réponses: 41
    Dernier message: 19/06/2007, 18h12
  4. Réponses: 9
    Dernier message: 19/09/2006, 16h50
  5. Gestion de la roulette dans les formulaires
    Par Chatou dans le forum Access
    Réponses: 5
    Dernier message: 26/06/2006, 11h35

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