Menu pas trés coopératif

Signaler
Messages postés
4
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
16 janvier 2009
-
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
-
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

Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
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