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

Access Discussion :

Pb après mise en place du déroulement avec la molette


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 149
    Points : 50
    Points
    50
    Par défaut Pb après mise en place du déroulement avec la molette
    bonjour!

    je viens d'intégrer dans mes formulaires les fonctions permettant le déplacement du formulaire avec la molette de la souris, seulement, maintenant, il semble qu'il y ait des déclarations qui est sautées ( des declarations que je n'ai meme pas faite (MsgBox...))

    lorsque je mets les trucs relatifs à la souris en commentaires, tout marche, alors j'aurais voulu savoir si qqun avait une idée..

    merci!!

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Slt,

    Quel code as tu utilisé?

    Quelle dll, celle de la FAQ?

    Et sinon ça veut dire quoi :
    il semble qu'il y ait des déclarations qui est sautées
    :

    Tu as un message d'erreur? un comportement anormal?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 149
    Points : 50
    Points
    50
    Par défaut
    voici le code que j'ai utilisé :

    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
    'pour le deplacement avec la molette de la souris
    Option Explicit
     
    Private WithEvents clsMouseWheel As MouseWheel.CMouseWheel
    ' Constantes pour le type de scrolling
    Private Const WM_VSCROLL = &H115
    ' Constantes pour les commandes
    Private Const SB_LINEUP = 0
    Private Const SB_LINEDOWN = 1
    ' Déclaration de l'API
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
     
     
     
    'fonction pour la souris
    Private Sub clsMouseWheel_MouseWheel(Cancel As Integer, zDelta As Integer)
        If zDelta < 0 Then
           SendMessage Me.hwnd, WM_VSCROLL, SB_LINEDOWN, 0&
        Else
           SendMessage Me.hwnd, WM_VSCROLL, SB_LINEUP, 0&
        End If
        Cancel = True
    End Sub
     
     
    Private Sub Form_Close()
        'pour la souris
        If Not (clsMouseWheel Is Nothing) Then
            clsMouseWheel.SubClassUnHookForm
            Set clsMouseWheel.Form = Nothing
           Set clsMouseWheel = Nothing
        End If
    End Sub
     
    Private Sub Form_Load()
        'pour la souris
        Set clsMouseWheel = New MouseWheel.CMouseWheel
        Set clsMouseWheel.Form = Me
        clsMouseWheel.SubClassHookForm
    End Sub[code][/code]
     
     
    j'ai utilisée la dll du forum
     
    ben en fait il bloque à l'execution en disant que j'ai des variables non definies...
     
    merci!!

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    C'est sûrement le paramètre zdelta qui ne passe pas, je l'avait rajouté dans une dll copiée de celle de la FAQ.
    Donc en utilisant la dll de la faq ça ne marche pas
    Enfin je pense que c'est ça parce que ton code a l'air correct...

    Ceci dit on a vu un autre problème avec cette dll qui marche mal avec plusieurs formulaires, donc si tu as plusieurs formulaires ça coince.
    En gros si tu déplaces la roulette dans le formulaire A c'est le formulaire B qui se déplace....

    Donc il faudrait fusionner les deux codes pour faire une dll magique.
    J'ai le code des deux dll à la maison, juste un copier-coller à faire.
    Par contre je n'ai plus VB6 donc il me faudra quelqu'un pour compiler la dll.

    Bye.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 149
    Points : 50
    Points
    50
    Par défaut
    je n'ai pas tout saisi, mais apparemment, il faudrait que je change la dll c'est ca?

    mais le probleme dont tu parles pourrai influer sur le mien??
    (désolée pour mes qustions..)

    tu voudrais sur je compile pour toi?? (enfin, si je peux..)

    merci!

  6. #6
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    ok j'ai pas été très clair, mais j'ai pas compris quelle dll tu utilisais...

    En gros y a une dll de microsoft qui permet de bloquer la molette de la souris.
    Mais y a eu deux problèmes sur cette dll :
    1 - pas vraiment un problème mais une lacune : on ne sais pas dans l'événement MouseMove dans quel sens on déplace la molette, donc on ne sait pas si on doit monter ou descendre l'ascenceur au cas où on veuille faire défiler le formulaire avec la molette.
    2 - la dll ne gère qu'un seule classe à la fois et donc appelle l'événement MouseMove dans le dernier formulaire ouvert quelque soit le formulaire en cours d'utilisation.
    En résumé quand on déplace la molette dans le formulaire 1 c'est le formulaire 2 qui reçoit l'événement MouseMove....

    Donc j'ai corrigé la dll indépendemment pour chacun des problèmes.
    Et toi je ne sais pas quel problème tu as et si tu utilises la dll d'origine ou une des dll modifiées.

    Conclusion : en fonction de ton besoin et de ton problème je peux fournir le code de la dll qui remplacera celle que tu essayes d'utiliser aujourd'hui, mais je n'ai pas VB6 pour la compiler.

Discussions similaires

  1. Mise en place serveur DHCP avec de PC sur machines virtuelles
    Par nriffaud87 dans le forum Architecture
    Réponses: 2
    Dernier message: 19/05/2015, 07h15
  2. Mise en place fonction Min avec Index VBA
    Par LorenzoN dans le forum Excel
    Réponses: 2
    Dernier message: 01/11/2014, 12h22
  3. Mise en place des notifications avec GCM
    Par gégé140488 dans le forum Android
    Réponses: 1
    Dernier message: 10/10/2012, 18h21
  4. Réponses: 4
    Dernier message: 17/06/2011, 21h56
  5. DBconsole ne demarre plus apres mise en place Dataguard
    Par ZashOne dans le forum Administration
    Réponses: 0
    Dernier message: 01/07/2008, 09h50

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