Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

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


Information sur la source

Catégorie :Trucs & Astuces Classé sous : menu, popup, sousmenu Niveau : Initié Date de création : 07/10/2005 Vu / téléchargé: 12 296 / 1 711

Note :
7,25 / 10 - par 4 personnes
7,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

Description

Beaucoup disent que c'est impossible sans surclasser la form...
Ben ce code prouve le contraire est en plus j'ai essayé d'être le plus simple possible.
Là c'est limité à deux niveaux, mais on peut compliquer avec autant de sous-niveaux que nécessaire.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de Neo.balastik le 07/10/2005 17:34:58

Très sympa !

signaler à un administrateur
Commentaire de crenaud76 le 07/10/2005 22:28:42

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

signaler à un administrateur
Commentaire de LogOff le 08/10/2005 00:21: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.

signaler à un administrateur
Commentaire de crenaud76 le 08/10/2005 00:35:27

Mea culpa !!!!

Alors je met 8/10
Christophe

signaler à un administrateur
Commentaire de PCPT le 08/10/2005 04:02:45 administrateur CS

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

signaler à un administrateur
Commentaire de CanisLupus le 08/10/2005 13:19:30 administrateur CS

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 ?


signaler à un administrateur
Commentaire de besqueut le 08/10/2005 19:13:58

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.

signaler à un administrateur
Commentaire de drblood le 09/10/2005 04:53:35

Super Code :) je met 9/10!
mais j'ai une petite question :s comment faire plus que deux niveaux MERCI D'AVANCE :)

signaler à un administrateur
Commentaire de besqueut le 10/10/2005 14:07:37

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

signaler à un administrateur
Commentaire de brahimhakkou le 19/05/2006 20:02:46

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 ;)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

PopUp Menu [ par Yerffuaj ] Bonjour, je ne connais pas très bien VB mais je fais un stage sous VB6 et il faudrait que j'arrive à augmenter la taille de police des popup menu qui Menus popup dans un MDIChild [ par Sandro ] Hello... je vais essayer de faire court :-)J'ai un p'ti soft MDI. Dans une feuille Child, je veux faire apparaître un menu Popup. J'y ajoute donc un m Popup menu [ par baba ] Comment peut on faire pour ajouter des icones dans un menu (popup) en VB ?Merci Popup menu dans DBGrid ou équivalent [ par lolo ] Bonjour,je débute en VB6 et je voudrais faire un formulaire de visualisation/modification de données sur une table du style:MaTable: ID carac1 c popup menu dans listview ou treeview en VBA [ par reman ] Salut à tous,Je n'arrive pas à créer un popup sur un item d'une listview ou d'un treeview. Je débute, alors si quelqu'un pouvait m'aider en me donnant Popup menu qui ne disparait pas sous Win NT [ par clafouti ] J'ai le problème suivant : J'ai une icone dans le system tray (a coté de l'horloge). Lorsque je clique droit sur l'icone, je fait apparaître un popup Popup menu et fenetre sans border [ par PKist ] Lorsque je fais un menu, cela ajoute des border a ma fenetre de projet.comment créer un menu sans que cela n'ajoute de border ? menu popup [ par joflo ] si l'un de vous sait comment faire mercij'ai créé un menu avec le créateur de VB6 que je fait apparaitre sous le bouton sur lequel je cliquema questi Popup menu [ par sebleboss2002 ] Salut tout le monde !Je suis embêté car je veux créer un popup menu lors d'un clic sur un bouton, mais chaque fois :Erreur 428 : Le menu contextuel do Menu popup [ par rivierem ] Voila je voudrais creer un menu popup dynamiqueJ'arrive a le cree mais il ne s'affiche pas!!!Comment faire voila ma sourcePublic Sub charge_menu_ext


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.