PROGRAMME SIMPLE POUR CRÉER UN POPUP MENU AVEC DES SOUS-MENUS
Neo.balastik
Messages postés796Date d'inscriptionjeudi 17 mai 2001StatutMembreDernière intervention 5 mai 2009
-
7 oct. 2005 à 17:34
OtusAsio
Messages postés2Date d'inscriptionvendredi 17 septembre 2010StatutMembreDernière intervention24 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.
OtusAsio
Messages postés2Date d'inscriptionvendredi 17 septembre 2010StatutMembreDernière intervention24 avril 2012 24 avril 2012 à 07:31
Merci!!! J`en avais justement besoin!!!
brahimhakkou
Messages postés44Date d'inscriptionsamedi 21 janvier 2006StatutMembreDerniè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és15Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention24 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és21Date d'inscriptionlundi 3 mai 2004StatutMembreDerniè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és15Date d'inscriptionmercredi 23 juillet 2003StatutMembreDernière intervention24 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és3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 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és13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 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és4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 8 oct. 2005 à 00:35
Mea culpa !!!!
Alors je met 8/10
Christophe
cs_LogOff
Messages postés69Date d'inscriptiondimanche 6 octobre 2002StatutMembreDernière intervention14 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és4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 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és796Date d'inscriptionjeudi 17 mai 2001StatutMembreDernière intervention 5 mai 20097 7 oct. 2005 à 17:34
24 avril 2012 à 07:31
19 mai 2006 à 20:02
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 ;)
10 oct. 2005 à 14:07
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
9 oct. 2005 à 04:53
mais j'ai une petite question :s comment faire plus que deux niveaux MERCI D'AVANCE :)
8 oct. 2005 à 19:13
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.
8 oct. 2005 à 13:19
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 ?
8 oct. 2005 à 04:02
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
8 oct. 2005 à 00:35
Alors je met 8/10
Christophe
8 oct. 2005 à 00:21
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.
7 oct. 2005 à 22:28
Christophe
7 oct. 2005 à 17:34