Menu pas trés coopératif

petitchevalroux Messages postés 4 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 16 janvier 2009 - 13 janv. 2005 à 21:13
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 14 janv. 2005 à 09:10
J'ai fait un menu dans une dialogbox (pas trés catholique tout ça, mais bon!)

je recupére ce menu avec

m_Menu.LoadMenu(IDR_MENU_LIBRAIRIE); dans OnInitDialog();

ensuite je veux cocher une option avec

m_Menu.CheckMenuItem(ID_SLECTION_AJOUTER,MF_CHECKED|MF_BYCOMMAND);

et la a ma grande surprise ca ne fait rien.

Alors si quelqu'un sait pourquoi ... A part le fait que ce soit dans un dialogbox;

Merci

1 réponse

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
14 janv. 2005 à 09:10
En MFC, on ne gère pas les menus en désactivant et cochant directement, on le fait en traitant ON_UPDATE_COMMAND_UI (dans le classwizzard, lorsque l'on veut associer une commande à une fct, on a le choix entre plusieur type, ON_COMAND est appelé pour exécuter la commande et ON_UPDATE_COMMAND_UI pour mettre à jour cette commande à partir d'une structure permettant d'activer et de cocher cette command).

Voici pour la partie explication générale des commandes sous MFC. Maintenant, ce truc ne marche qu'avec une fenêtre principale (dérivant de CFrameWnd) et pas avec les boîtes de dialogues (dérivant de CDialog). J'ai lu un article qui donnait une solution mais je ne l'ai pas sous la main en ce moment (c'était sur un site FAQ MFC que j'arrive pas à retrouver).

Une solution est d'utiliser un projet SDI avec une FormView ou alors de ne pas utiliser les MFC auquel cas on peut faire ce que l'on veut
0