Menus dynamiques en vb express 2008

Résolu
fiber88 Messages postés 28 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 8 juin 2011 - 17 mars 2009 à 20:35
Londonic Messages postés 298 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 26 septembre 2009 - 18 mars 2009 à 00:15
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

Londonic Messages postés 298 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 26 septembre 2009
18 mars 2009 à 00:15
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 +
3