Menu dynamique [MFC] - C++ - Programmation
Marsh Posté le 26-02-2006 à 15:24:21
http://c.developpez.com/faq/vc/?page=GesMenus
Faire bon usage de CMenu et de ses méthodes
Marsh Posté le 28-02-2006 à 02:10:27
Mainteant j'ai un autre souci. Comme mon menu est dynamique, je ne sais pas par avance les items qui vont y etre. Donc comment savoir lorsque l'utilisateur clic sur tel ou tel item du menu? Je ne peux pas faire de lien static du genre :
|
Marsh Posté le 28-02-2006 à 08:41:20
Je ne vois pas ce que ça change. Tu écris tous les gestionnaires de commandes possibles. Si le menu ne contient pas l'item de commande alors cette commande n'est pas accessible à l'utilisateur.
S'il s'agit d'items variables (par exemple une énumération d'objets de l'application créés dynamiquement par l'utilisateur), tu peux faire usage de ON_COMMAND_RANGE mais cela implique que tu définisses un nombre maximum d'objets adressables.
Néanmoins, il faut voir si l'emploi d'un menu dynamique se justifie ou si la désactivation d'un item prédéfini n'est pas plus appropriée.
Quel est ton usage du menu dynamique?
Marsh Posté le 28-02-2006 à 08:51:25
Un article et des sources qui peuvent t'intéresser:
http://www.codeguru.com/Cpp/contro [...] .php/c3711
Marsh Posté le 17-05-2006 à 11:09:23
Dis donc, es-tu parvenu a le faire marcher ce menu dynamique?
... parce que ca m'intéresse
Marsh Posté le 18-05-2006 à 22:36:02
Comme epliqué dans le 1er lien j'ai utiliser la méthode "append" de CMenu pour ajouter mes éléments.
Ensuite j'ai intercepté le message WM_COMMAND et j'ai traité les différents cas en fonction de wParam et lParam
Code :
|
Marsh Posté le 26-02-2006 à 14:08:04
Bonjour,
Lorsqu'on créer un menu avec les MFC, il faut qu'il soit créé par avance dans les ressources mais moi je voudrais avoir un menu vide à la base et ajouter les items en fonction d'un traitement une fois le programme lancé. Peut-on faire ca?
Merci
Message édité par AsTro le 26-02-2006 à 14:08:22