Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1627 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [MFC] Menu dynamique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MFC] Menu dynamique

n°1313731
AsTro
Posté le 26-02-2006 à 14:08:04  profilanswer
 

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
mood
Publicité
Posté le 26-02-2006 à 14:08:04  profilanswer
 

n°1313758
slash33
Posté le 26-02-2006 à 15:24:21  profilanswer
 

http://c.developpez.com/faq/vc/?page=GesMenus
 
Faire bon usage de CMenu et de ses méthodes


Message édité par slash33 le 26-02-2006 à 19:54:51
n°1313858
AsTro
Posté le 26-02-2006 à 19:22:53  profilanswer
 

Merci

n°1315006
AsTro
Posté le 28-02-2006 à 02:10:27  profilanswer
 

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 :


ON_COMMAND(IDM_ITEM_EXIT, OnExit)

n°1315016
slash33
Posté le 28-02-2006 à 08:41:20  profilanswer
 

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?

n°1315017
slash33
Posté le 28-02-2006 à 08:51:25  profilanswer
 

Un article et des sources qui peuvent t'intéresser:
http://www.codeguru.com/Cpp/contro [...] .php/c3711

n°1315274
AsTro
Posté le 28-02-2006 à 13:29:46  profilanswer
 

Merci je vais regarder ça ;)

n°1368535
cwamgis
Posté le 17-05-2006 à 11:09:23  profilanswer
 

Dis donc, es-tu parvenu a le faire marcher ce menu dynamique?
... parce que ca m'intéresse  :D

n°1370150
AsTro
Posté le 18-05-2006 à 22:36:02  profilanswer
 

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 :
  1. LRESULT CPowerManagementDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
  2. {
  3. if (message == WM_COMMAND)
  4. {
  5.  if (wParam == 0 && lParam == 0)
  6.  {
  7.   ...
  8.   return 0;
  9.  }
  10.  else if (wParam == 1 && lParam == 1)
  11.  {
  12.   ...
  13.   return 0;
  14.  }
  15.  ...
  16. }
  17. }


Message édité par AsTro le 18-05-2006 à 22:39:38

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [MFC] Menu dynamique

 

Sujets relatifs
Include pour un menutableau dynamique croisée
Menu DHTML ? CSS ?Redimentionnement de mon menu selon la résolution de l'écran.
[wx] Intégrer un menu dans une toolbarInsérer page html dynamique dans page html
[MFC]Deplacer dessinProblème de mise en forme dynamique dans un tableau.
mailto : subject avec contenant un URL dynamique.[MFC] Problème avec un menu dynamique
Plus de sujets relatifs à : [MFC] Menu dynamique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR