Menus dynamiques en vb express 2008

[Résolu]
Signaler
Messages postés
28
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
8 juin 2011
-
Messages postés
298
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
26 septembre 2009
-
Bonjours à tous,

Je viens de passer à VB express 2008 aprés VB6.
Je n'arrive pas à trouver le moyen de créer des sous-menus dynamiques!!
Comment remplacer ça ?

Do While Not tbl.EOF
If Not IsNull(tbl(0)) Then
If i <> 0 Then
Load Me.MnGrp(i)
End If
Me.MnGrp(i).Caption = tbl(1)
Me.MnGrp(i).Tag = tbl(0)
End If
tbl.MoveNext
i = i + 1
DoEvents
Loop

Merci d'avance

1 réponse

Messages postés
298
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
26 septembre 2009

Il y a deux sortes de menus. Le menu contextuel et le menu standard. Ils sont tous les deux dans la boite à outils, et leur propriétés dynamiques sont les mêmes. pour les utiliser dans un programme sans le concepteur visuel, il suffit d'ajouter (controls.add(Menu)) dans la collection des controles de l'objet qui va les gérer. Le menu normal s'affiche comme un bouton (SetBounds) mais on doit affecter le contextuel à un objet pourvu de la propriété ContextMenuStrip. Aprés, il suffit d'ajouter les uns aux autres des contextmenustrip ou des menustrip, sans oublier de les déclarer "New" puisqu'on fait ça dynamiquement. Le paramètrage de ces éléments coule de source. Il en existe de toutes sorces CheckingMenuStrip, ComboBoxMenuStip... On peut développer une application rien qu'avec des menus, et modifier ces menus dynamiquement en fonction du contexte. Trés amusant à faire, mais plus ennuyeux que le menu contestuel du navigateur windows à l'utilisation. A mon avis, c'est à user avec modération.
Je n'ai pas essayé de les enregistrer, mais si je devais le faire, ce serait item par item avec un tableau à part pour reconstituer le menu et tenir l'index car je n'ai jamais vu de caption, et je sais même pas ce que c'est. En revanche, je crois possible d'utiliser la propriété nom comme poignée (Handle, je sais pas pourquoi on dit ca pour les poignées). Au pire, avec un index à part, et comme on manipule les items de menus comme des variables, puisque ce sont des instances, ca doit pouvoir se gérer dans un flux. Il reste le problème de leurs circonstances (je sais pas pourquoi on dit évènements parce qu'ils agissent dans des circonstances particulières) . Que je vois pas comment on enregistre les circonstances.
J'espère que j'ai pas répondu à coté, et j'en sais pas beaucoup plus
A +