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

VB 6 et antérieur Discussion :

Une Picturebox ne reçoit pas l'événement "Mouse_Down" du bouton gauche !


Sujet :

VB 6 et antérieur

  1. #1
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    510
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 510
    Points : 131
    Points
    131
    Par défaut Une Picturebox ne reçoit pas l'événement "Mouse_Down" du bouton gauche !
    Bonjour, joyeux confinés !

    Je pense que le titre est assez explicite. Bien entendu, elle reçoit bien l'événement pour le bouton droit. Comment est-ce possible ?

    Il me semble que l'on pourrait obtenir ce résultat si la Form contenant cette Picturebox avait une routine de "préemption" de la souris (je ne sais plus comment ça se dit...), et qu'elle le déclare "traité" dans le cas du bouton gauche, mais pas du bouton droit, mais rien de semblable n'est visible dans l'ensemble du code de l'application.

    Quelqu'un a une idée d'explication ?

    AMIcalement.

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 176
    Points
    17 176
    Par défaut
    Salut

    Pourrais tu mettre le code de la sub Picture1_MouseDown (Button As Integer , Shift As Integer , X As Single , Y As Single ), je pense que tu as essayé un simple affichage de la valeur de Button (sans aucune condition)?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    510
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 510
    Points : 131
    Points
    131
    Par défaut
    Encore une fois merci ProgElect.

    Voici le code :
    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
    Private Sub Fenetre_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    Dim i As Long, f As Long, ech As Byte, ech2 As Echantillon
    Dim v As Single, vgd As Long
    Const Pi As Single = 3.14159265
    Const PY As Single = 2 * Pi / 44100
    If Timer1.Enabled Then Exit Sub
    If Not ouvert Then
      MsgBox "Ouvrez d'abord une voie !"
      Exit Sub
    End If
    If Button = vbLeftButton Then ' Bouton gauche : émettre un son
      ' mot de volume
       v = 65535 * (y / PMa)
       vgd = single2vol(v, adroite, agauche)
      ' table des échantillons
      f = 10 ^ x
      For i = 0 To 44099
        ech = 128 + 127 * Sin((PY * f) * i)
        Ech2Wave ech, ech2
        Wave(i) = ech2
      Next
      If Shift = vbShiftMask Then ' shift=>dump de la table des échantillons
        With Fdump.Dump
          For i = 0 To 4096
            .AddItem Right("0000" & Hex(i), 3) & " " & Right("00" & Hex(Wave(i).Gauche), 2) & " " & Right("00" & Hex(Wave(i).Droite), 2)
          Next
        End With
        Fdump.Visible = True
      ElseIf Shift = vbCtrlMask Then ' ctrl=> dump du mot de volume
        Fdump.Entrée.Text = "Y= " & Format(y) & ", v = " & Format(v)
        Fdump.Sortie.Text = "Volume= " & Right("00000000" & Hex(vgd), 8)
        Fdump.Visible = True
      ElseIf Shift = vbAltMask Then ' Alt=> témoin fréquence et volume
        Témoin.Text = "Fréquence=" & Format(10 ^ x, "#") & vbCrLf & "Puissance=" & Hex(vg)
        Témoin.Visible = True
        Témoin.Top = y
        Témoin.Left = x
      Else
        Timer1.Enabled = True
        Command1.BackColor = vbRed
        Joue vgd
      End If
    Else ' Autre bouton (droit)
      If Shift = 0 Then ' bouton droit seul : son entendu
        croix x, y, vbGreen
      Else              ' bouton droit + shift : son pas entendu
        croix x, y, vbRed
      End If
    End If
    End Sub
    Mais en fait, tout cela ne sert plus à rien : ça remarche.

    Je ne comprends pas mieux qu'avant, mais cela semble résolu ???????????

    AMIcalement.

  4. #4
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    510
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 510
    Points : 131
    Points
    131
    Par défaut
    Je ne sais pas qui m'a envoyé un message "spécial" : "Et le bouton RESOLU alors !!!!!", et je ne trouve pas le moyen d'y répondre autrement qu'ici :

    Je ne l'ai pas utilisé car j'espérais que quelqu'un aurait une idée d'explication de ce qui s'est passé : un problème qui se résout tout seul, c'est inquiétant.

  5. #5
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 176
    Points
    17 176
    Par défaut
    Re

    C'est moi

    Dans ton code, rien ne permet de soupçonner la non détection du bouton gauche de la souris, sinon, une panne du bouton poussoir de la souris elle même.
    Ne pas s'offusquer ni rigoler de cette suggestion, cela m'est arrivé il n'y a pas si longtemps et en plus, après avoir changé la pile, ben plus de problème pendant un certain temps, puis rebelote.
    Je ne me l'explique que par un mauvais contact qui quand la pile devient faible, pas suffisamment de courant pour enclencher le signale.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    510
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 510
    Points : 131
    Points
    131
    Par défaut
    Alors salut de nouveau.

    Mais ton explication (qui ne m'offusque ni ne me fait rigoler) ne tient pas, car le bouton gauche marchait parfaitement bien ailleurs (et ma souris est 100% USB, donc pas de question de pile).

    Pour moi, le problème reste entier, mais on ne va pas passer le réveillon là-dessus non plus : y'a mieux à faire !

    Joyeux Noël.

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/05/2016, 19h08
  2. Réponses: 2
    Dernier message: 11/01/2015, 16h10
  3. Réponses: 4
    Dernier message: 18/06/2011, 23h31
  4. Une interface qui envoie mais ne reçoit pas
    Par Eusebius dans le forum Développement
    Réponses: 1
    Dernier message: 21/03/2008, 09h27
  5. Réponses: 1
    Dernier message: 08/11/2006, 17h23

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