PROGRAMME SIMPLE POUR CRÉER UN POPUP MENU AVEC DES SOUS-MENUS

Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 - 7 oct. 2005 à 17:34
OtusAsio Messages postés 2 Date d'inscription vendredi 17 septembre 2010 Statut Membre Dernière intervention 24 avril 2012 - 24 avril 2012 à 07:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34120-programme-simple-pour-creer-un-popup-menu-avec-des-sous-menus

OtusAsio Messages postés 2 Date d'inscription vendredi 17 septembre 2010 Statut Membre Dernière intervention 24 avril 2012
24 avril 2012 à 07:31
Merci!!! J`en avais justement besoin!!!
brahimhakkou Messages postés 44 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 7 mai 2007
19 mai 2006 à 20:02
salut *
je suis encore débutant en vb
je veux savoir comment créer un jmenu en vb
et comment faire un evenement sur le bouton , veuillez bien me guider et merci
et ce ke cé la meme facon qu'avec java ?


merci ;)
besqueut Messages postés 15 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 24 mars 2018
10 oct. 2005 à 14:07
Merci à PCPT de m'avoir aiguillé sur le code de DarkSidious que je remercie également.
Je viens de tester et c'est vrai que ça fait quasiment la même chose avec quasiment les mêmes API. Je vais donc prendre le meilleur des deux...
JY
drblood Messages postés 21 Date d'inscription lundi 3 mai 2004 Statut Membre Dernière intervention 9 octobre 2005
9 oct. 2005 à 04:53
Super Code :) je met 9/10!
mais j'ai une petite question :s comment faire plus que deux niveaux MERCI D'AVANCE :)
besqueut Messages postés 15 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 24 mars 2018
8 oct. 2005 à 19:13
C'est vrai que je ne l'ai pas testé sous W98. Tout programme qui fait appel au API Windows est susceptible de problèmes avec un système obsolète. Si vous êtes dans ce cas, ne cherchez pas à crer des sous-menus à la volée. Y-en qui ont essayé... zon eu des pb...
Ce programme a été extrait d'un programme beaucoup plus complexe (ps de limite du nombre de sous-niveau, icones, ...)
Mais toutes ces fioritures sont déjà connues. Je voulais juste mettre en évidence la possibilité de créer des sous-menus à la volée sans sur-classer la form. (Ce qui entre parenthèses peut provoquer des problèmes bien plus gênants que le simple appel à quelques APIs, notement si vous ouvrer plusieurs fenêtres en même temps...)
Pour rester simple, la gestion du code de retour est bêtement "unités/dizaines". De même la chaîne passée pour créer les menus est bêtement décodée avec la fonction Split.
En vrai, ce programme est une classe qui implémente la notion de sous-menu, et qui retourne le code que l'on a donné quand on a créé l'instance de chaque sous-menu.
Mais avec quelques centaines de lignes de code, difficile de mettre en évidence la petite astuce qui permet de créer un sous-menu à la volée avec un code qui reste simple. J'ai vu des exemples qui juste pour faire ça nécessitent des centaines de lignes.
J'en profite pour remercier tous ceux qui contribuent à ce site remarquable. J'y ai trouvé du code utile, bien fait et original.
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
8 oct. 2005 à 13:19
Salut,
Je dirai, comme le schtroumpf grognon : "J'aime pas les menus créés à la volée".
Ton code ressemble furieusement à un autre que j'ai testé il y a quelques mois sur des machines equipées de win98 (he oui, il y en à encore plein, surtout en entreprise).
Résultat : un magnifique screen blue (enfin si on aime le bleu) suivi d'un plantage total avec erreur dans le user.exe.
Par curiosité, j'ai testé le tien dans les mêmes conditions et c'est idem : plantage dès que la souris passe sur les items où il y a une flèche indiquant des sous menus.
Et puis, comment tu vas gérer le code à mettre dans tes items et sous items ?
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 oct. 2005 à 04:02
salut,
le code est propre, mais qu'apporte-t'il de plus que toutes les autres sources existantes?
(exemple ID=27410 de DarkSidious)

une différence tout de même, et pas des moindres, ton code ne permet ni les coches, ni invisible, etc...

et pour le code pour le menu lui-même, un select case sur le retour de MontrerMenu(S), ok, mais dans ce cas, on en revient au même. il faut prévoir, même en dynamique, le code à mettre pour des Items qui pourraient être créés dans une ressource externe, modifiable par l'utilisateur (donc risqué...).

enfin, à part critiquer, je fais pas grand chose :-$

donc mis-à-part ce coté "utilisateur", qui reste un problème, ta source reste une des plus "rapide et facile" pour la création.

dommage qu'il n'y ait pas le moindre commentaire.

6/10 pour le moment (non validé).
c'est une source qui mérite encore pas mal de boulot.
la typo modifiable également, et/ou des images, ...

il y a beaucoup de sources sur les menus, tu peux très rapidement faire évoluer ce projet.

bonne continuation
PCPT
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
8 oct. 2005 à 00:35
Mea culpa !!!!

Alors je met 8/10
Christophe
cs_LogOff Messages postés 69 Date d'inscription dimanche 6 octobre 2002 Statut Membre Dernière intervention 14 juillet 2009
8 oct. 2005 à 00:21
Super code que j'ai cherché pendant longtemps!

Crenaud76, je pense que tu n'as pas bien saisi l'intérêt de cette source : on ne cherche pas à refaire l'éditeur de vb, mais à ajouter des menus dynamiquement pendant l'exécution du prgramme, ce qui dans certains cas est impossible avec l'éditeur de vb.
ex: charger le contenu d'un dossier (sous-dossiers & fichiers) dans un menu, avec création des sous-menus à la volée quel que soit le niveau de profondeur de l'arborescence, alors qu'avec l'éditeur de vb on est obligé d'indiquer avant l'exécution du code les sous-menus.
(Pour ceux qui connaissent KDE/gnome, c'est exactement ce procédé qui est employé dans le menu 'Parcourir le dossier rapidement').

Donc un code très pratique, puisque complètement indépendant de l'éditeur de menus de vb.
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
7 oct. 2005 à 22:28
C'est vrai que c'est sympa ! Dommage que l'on fasse exactement la même chose avec 10 clicks de souris dans le créateur de menu de VB6 et une ligne de code via la fonction PopUpMenu() !!!

Christophe
Neo.balastik Messages postés 796 Date d'inscription jeudi 17 mai 2001 Statut Membre Dernière intervention 5 mai 2009 7
7 oct. 2005 à 17:34
Très sympa !
Rejoignez-nous