PopupMenu en vb6

Signaler
Messages postés
69
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
20 juin 2011
-
Messages postés
69
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
20 juin 2011
-
Bonjour à tous,

Voilà, je veux mettre un PopupMenu sur 2 cellules faisant partie d'un groupe de contrôle (appelons-le "tech") donc les 2 cellules sont nommées tech.item(0) et tech.item(1).
Je créé un évènement case_MouseUp pour faire afficher le PopupMenu. Ainsi, lorsqu'on clique sur une des 2 cellules, le popupMenu apparaît et là, on a une liste de choix. Cela permet de renseigner la cellule.
Mon pb est que je veux un menu différent pour chaque cellule. Donc je voudrais paramétrer le nom du menu du type menu0 et menu1
Donc mon code est le suivant :

Private Sub tech_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)

Call Me.PopupMenu(menu & index)

end sub

Evidemment, cela ne fonctionne pas !
Pour vb6, tout ce qui se trouve derrière PopupMenu est pris comme le nom du menu. Je ne sais pas comment lui faire comprendre que cela peut-être une variable (ex. : Call Me.PopupMenu nom_menu avec no_menu="menu" & index)

Merci pour votre aide car je suis bien bloqué.

3 réponses

Messages postés
1207
Date d'inscription
dimanche 20 avril 2003
Statut
Membre
Dernière intervention
4 juin 2016
9
Bonjour,

Je ne sais pas si j'ai bien compris, mais tu pourrais créer tes menus avec des index.

et faire popupmenu MyMenu(index) en fonction d'une condition quelconque.


Calade
Messages postés
14757
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
14 janvier 2021
151
Bonjour,

Sinon, je pense que tu peux retrouver le menu en recherchant son Name dans la collection MaForm.Controls (il me semble).

Mon site
Messages postés
69
Date d'inscription
jeudi 22 décembre 2005
Statut
Membre
Dernière intervention
20 juin 2011

OK, merci les gars, grâce à vos réponses, j'ai résolu mon pb.

Pour rappel, j'ai 2 cellules appartenant à un groupe nommé "tech". Qd je clique sur une de ces 2 cellules, un popupmenu apparaît avec plusieurs lignes de sous-menu, moyen détourné pour faire une liste de choix. On clique sur un de ces choix et la cellule se remplit avec le texte sélectionné.
Le pb était que la liste de choix (donc le menu) est différent entre les cellules 1 et 2.
Donc j'ai créé des menus avec le même nom mais avec des index différents - mnu_tech(1) et mnu_tech(2) - et ci-dessous le code pour afficher le popupmenu :

Private Sub tech_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, Y As Single)

Me.PopupMenu mnu_tech.Item(Index)

End Sub

Attention à ce que l'index de la cellule soit identique à celui du menu.

Merci et a +.