OVH Cloud OVH Cloud

Ajout dans un menu (dynamiquement)...

1 réponse
Avatar
Yannick Tremblay
Bonjour,

J'ai un menu, que j'ai créé avec l'editeur de menu, et j'aimerais ajouter,
pendant l'exécution de mon programme, ajouter dynamiquement d'autre sous-menu
avec des informations qui provienne d'un base de données et qui sont donc
imprévisible. Je tiens a souligner que le menu n'est pas un menu pop-up (car
je sais qu'avec les API on peut le faire pour un menu popup). Si vous
connaissez une facons de le faire : merci.

--

Merci
Y.T

1 réponse

Avatar
Picalausa François
"Yannick Tremblay" a écrit dans
le message de news:
pendant l'exécution de mon programme, ajouter dynamiquement d'autre
sous-menu



Hello,

A un même niveau hiérarchique, c'est possible en VB pur:
Soit un premier élément de menu:
Caption = "(Aucun)"
Name = mnuDyn
Index = 0
Enabled = False

Le code suivant charge les nouveaux éléments dynamiquement:
Private Sub AddMenuItem(Caption As String)
Dim NewIndex As Integer
NewIndex = mnuDyn.UBound + 1
Load mnuDyn(NewIndex)
mnuDyn(NewIndex).Caption = Caption
mnuDyn(NewIndex).Enabled = True
mnuDyn(NewIndex).Visible = True

'L'élément aucun doit disparaitre:
mnuDyn(0).Visible = False
End Sub

Private Sub RemoveMenuItem(Index As Integer)
'Evite l'erreur aucun élément visible:
mnuDyn(0).Visible = True

Unload mnuDyn(Index)

'Vérifie que l'état de visibilité est OK
mnuDyn(0).Visible = mnuDyn.UBound = 0
End Sub

Private Sub Form_Load()
AddMenuItem "a"
AddMenuItem "b"
AddMenuItem "c"
End Sub

Private Sub mnuDyn_Click(Index As Integer)
RemoveMenuItem Index
End Sub

sinon, sur www.vbaccelerator.com, il existe divers contrôles qui permettent
d'avoir vraiment un menu dynamqiue

--
Picalausa François