Problème d'info click souris

blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015 - 2 janv. 2008 à 18:21
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 2 janv. 2008 à 22:32
Lu.

j'ai un petit problème tout con mais qui me gène beaucoup. Donc voila j'utilise deux feuilles(Form1 et Form2)  Sur le Form1  j'ai  une ListeBox et sur le Form2 jai des boutons . Quand je double click sur un élément de la ListeBox(Form1) je fais apparaitre le Form2 devant le Form1.

Donc le probleme c'est que les boutons(Form2) se situe au même emplacement que la listeBox(Form1) et que quand je fait le double click sur le Form1 il me click en mm temp sur le bouton sur le Form2. Comment est ce que je pourrais faire pour evité ca. biensur je ne peut pas mettre les boutons ailleur sur mon projet.

10 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
2 janv. 2008 à 19:09
Étrange...
Qu'est-ce qu'il y a dans le code de ton List_DblClick ?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA.
0
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015
2 janv. 2008 à 19:22
bien il ni a pas grand chose.

Private Sub list_films_DblClick(ByVal Button As Integer)
    me.hide
    form2.show
End Sub

donc voila mon Form2 apparait a l'ecran et comme il y a un bouton qui se trouve a la même position que le souris sur ce Form2. bah il garde l'info du click du double click et donc click sur le bouton.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
2 janv. 2008 à 20:08
1) je  ne sais pas en quoi tu développes, car ceci :

Private Sub list_films_DblClick(ByVal Button As Integer)

ne peut exister en VB6 ! (et si tu l'as écrit : est totalement inopérant !!!!

2) il vaut mieux éviter de  nommer un contrôle avec un _ dans son nom !!!

3) (et surtout) :
Tu as vraisemblablement mis du code dans l'évènement click également !!!! et il intervient bien évidemment avant ton double click !!!
0
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015
2 janv. 2008 à 20:21
Pour cette évenement ce n'est pas moi qui l'ai écrit, c'est visual basic que me la sorti quand dans la fenêtre de code quand j'ai choisit l'évenement DbClick a ma Listbox. En tous cas elle fonctionne bien lors du double click ca execute ce qu'il y a dans cette évenement ca c'est Ok.
Sinon oui effectivement j'ai mit  du code ausi pour l'évenement Click mais ce n'est rien ca (pour faire un test je l'ai même mit en commentaitre et ca fait la même chose). Le problème c'est vraiment que quand j' double click dans ma ListBox ca click sur le bouton du form2 qui aparait. Je voulais par exemple qu'une fois avoir Double clické sur une élement de ma ListBox il executé l'evenemet double click et avant de m'affiche le form2 qu'il perde l'info du click.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
2 janv. 2008 à 20:34
Je ne peux que confirmer ce que j'ai déjà dit : pas de référence possible au bouton sous VB6 dans l'évènement DblClick !!!!

Alors : je ne sais pas qui a écrit la chose, mais essaye donc : met cet "évènement" en commentaires et tu verras : aucun changement.

Je soupçconne plutôt l'existence d'un projet non "nettoyé" ...
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
2 janv. 2008 à 20:40
D'où provient ce ByVal Button as Integer ?

Sous VBA Excel ou Word, tu aurais
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

Sous Access,
Private Sub List1_DblClick(Cancel As Integer)

Sous VB6,
Private Sub List1_DblClick()

Sous VB.Net,
    Private Sub ListBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
2 janv. 2008 à 20:43
Salut MPI :

 explications possibles :

1) la plus probable : fichier non nettoyé
2) routine appelée de toutes pièces depuis un mouseDown ou un Mousup !!!

Fin quoi ....====>> usine à gaz
0
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015
2 janv. 2008 à 21:53
Bon bien suite a ton conseil j'ai mit le (ByVal Button As Integer) en commentaire et la mon programme ne se lance plus du tout j'ai un message d'erreur qui est ke suivant la déclaration de la procedure ne correspond pas a la description de l'evenement ou de la procedure du même nom. Petit detail que je ne vous ai pas dit c la version Visual basic 6 pro mais je ne pense pas que ca change grand chose. et je suis sur que le probleme ne vient pas de la parce que dans un autre endroit du programme g le même probleme que celui la lors du changement de form par un double click ca garde l'info du click et me génère la même chose. n'y a t'il pas moyen d'enlever cette info de click moi j'ai essayer avec  GetAsyncKeyState(VK_LBUTTON)  pour simuler une info de souris mais ca ne fonctionne pas
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
2 janv. 2008 à 22:10
Si on reprend depuis le début...

1- Le listbox que tu mets sur ta Form est un Listbox par défaut de VB ? ou un contrôle qui provient d'une source quelconque autre que VB ?

2- Lorsque tu double-cliques le contrôle Listbox que tu as mis sur ta Form (en mode Design), quel est le code généré par VB ?

3- Élimine complètement l'événement Click de ce contrôle Listbox et ne garde que le DblClick

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
2 janv. 2008 à 22:32
Ajoute un bouton de Commande sur ta form contenant List_films. Nomme ce bouton toto

et ce code :

Private Sub toto_Click()
  MsgBox TypeName(list_films)
End Sub

lance. Clique sur toto et dis-nous ce que cela affiche ... (on y verra un peu plus clair)
0
Rejoignez-nous