OVH Cloud OVH Cloud

Bouton DropDown

1 réponse
Avatar
Daniel AUBRY
Bonjour à tous et joyeuses fêtes,

je crée un bouton de type tbrDropdown dans une barre de bouton.
Je veux que les menus soit en fonction du contenu d'une table
et j'utilise d code ci-dessous :

Set btnX = BarreBoutons.Buttons.Add(, "Procedure", , tbrDropdown,
"Procedure")
btnX.ToolTipText = "Liste des procédures"
btnX.Enabled = False

SQL = "Select *"
SQL = SQL & " from NomProcedure"
SQL = SQL & " order by NomProcedure"

Cmd.CommandText = SQL
Set Rs = Cmd.Execute

If Not Rs.BOF And Not Rs.EOF Then
Do While Not Rs.EOF
btnX.ButtonMenus.Add Key:="A" & Rs!Numero, Text:=Rs!NomProcedure
Rs.MoveNext
Loop
btnX.Enabled = True
End If

Set Rs = Nothing

Et cela marche très bien.
Mais je ne sais pas utiliser l'événement clic sur ce menu.
Habituellement j'écrivais ceci :

Private Sub BarreBoutons_ButtonMenuClick(ByVal ButtonMenu As
MSComctlLib.ButtonMenu)

Select Case ButtonMenu.Key

Case "A1"
MenuProcedure1_Click

Case "A2"
MenuProcedure2_Click

End Select

End Sub

Mais maintenant je ne sais pas combien il y aura de Ax, ni générer les Case
en relatif.
Bref, je suis paumé.......
Si quelqu'un n'a pas trop mal aux cheveux ce matin !!!!

Dany

1 réponse

Avatar
Christian Hugoud
Tu es obligé de faire un lien avec le contenu du dropdown. Tu dois donc
garder cette info en mémoire quelque part.

Une autre méthode que j'ai appliquée pour des tooltips personnalisés :

Utilise le CallByName en construisant en temps réel l'appel de la procédure.
Celle-ci est alors stockée dans une feuille "générique" qui contient toutes
les procédures. Cela fonctionne très bien, à condition de gérer un appel de
procédure incorrect.

Christian



"Daniel AUBRY" a écrit dans le message de news:
43afaa43$0$19926$
Bonjour à tous et joyeuses fêtes,

je crée un bouton de type tbrDropdown dans une barre de bouton.
Je veux que les menus soit en fonction du contenu d'une table
et j'utilise d code ci-dessous :

Set btnX = BarreBoutons.Buttons.Add(, "Procedure", , tbrDropdown,
"Procedure")
btnX.ToolTipText = "Liste des procédures"
btnX.Enabled = False

SQL = "Select *"
SQL = SQL & " from NomProcedure"
SQL = SQL & " order by NomProcedure"

Cmd.CommandText = SQL
Set Rs = Cmd.Execute

If Not Rs.BOF And Not Rs.EOF Then
Do While Not Rs.EOF
btnX.ButtonMenus.Add Key:="A" & Rs!Numero,
Text:=Rs!NomProcedure
Rs.MoveNext
Loop
btnX.Enabled = True
End If

Set Rs = Nothing

Et cela marche très bien.
Mais je ne sais pas utiliser l'événement clic sur ce menu.
Habituellement j'écrivais ceci :

Private Sub BarreBoutons_ButtonMenuClick(ByVal ButtonMenu As
MSComctlLib.ButtonMenu)

Select Case ButtonMenu.Key

Case "A1"
MenuProcedure1_Click

Case "A2"
MenuProcedure2_Click

End Select

End Sub

Mais maintenant je ne sais pas combien il y aura de Ax, ni générer les
Case en relatif.
Bref, je suis paumé.......
Si quelqu'un n'a pas trop mal aux cheveux ce matin !!!!

Dany