IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[MFC] SDI Enable/disable élement d'un menu


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 22
    Par défaut [MFC] SDI Enable/disable élement d'un menu
    Bonjour,
    Alors j'ai parcouru le forum et j'ai trouvé qqs pistes pour pouvoir activer ou désactiver un control ds la bar de menu, mais lorsqu'il s'agit d'un sous menu... Cmt le déactiver/activer puisqu'il ne possede pas d'ID?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //On récupère le menu de la dlg
    CMenu* mmenu = GetMenu();
    //On spécifie sur quel sous menu (n° de la colonne) on va définir les propriétés
    CMenu* submenu = mmenu->GetSubMenu(?);
    //On définit les propriétés du sous-menu en question
    submenu->EnableMenuItem(?, MF_ENABLED);
    Sachant que mon menu est de cette sorte:

    Paramétrer - Imprimer - Consulter Base - Configurer IP - Quiter - ?

    Le sous menu qui me pose problème est " Imprimer" qui contient 3 méthodes, je le grise au départ de l'appli puis ensuite je n'arrive pas a y accéder, comment faire ?


    Merci bcp !

  2. #2
    Membre actif
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 27
    Par défaut
    Bonjour,

    Tu dois associer un gestionnaire d'évenement de type ON_UPDATE_COMMAND_UI
    à ton élément de menu.

    Ensuite, dans ta fonction tu met :
    avec true si tu veux l'afficher et false si tu veux le cacher.

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 22
    Par défaut
    Bonsoir,

    En fait, en faisant comme ca, je dois griser les 3 fonctions présentes dans mon sous menu, moi j'aimerai simplement griser le titre de ce sous menu, mais celui ci ne possede pas d'identifiant et donc l'utilisation de fonction est pas vraiment possible (?)... Faut il que je grise tout de meme mes 3 fonctions ?


    Je rappelle mon menu et mon sous menu

    Menu :
    Paramétrer - Impression - Consulter base - Configurer IP - Quitter - ?

    Sous menu: de Impression
    Imprimer - Apercu - Configuration de l'impression

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2006
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2006
    Messages : 22
    Par défaut
    Bon j'ai fait des test sur le menu avec ce code là, avec le debuggeur, et en fait il s'avère que la création du pointeur mmenu ( et son initialisation) se fait sans problème apparament mais l'appel de la fonction GetMenuItemCount(), aboutit à une erreur fatale...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CMenu* mmenu = GetMenu();
    UINT ent = mmenu->GetMenuItemCount();
    UINT ent0 = mmenu->GetMenuItemID(0);
    UINT ent1 = mmenu->GetMenuItemID(1);
    Je n'arrive pas a comprendre ce que j'ai bien pu faire comme erreur...

  5. #5
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    t'as vérifier que mmenu n'était pas NULL ?

Discussions similaires

  1. Enable / Disabled menu en fonction du context
    Par Feneck91 dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 18/04/2013, 13h27
  2. [MFC] SDI - pb avec OnInitialUpdate()
    Par bigboomshakala dans le forum MFC
    Réponses: 6
    Dernier message: 22/11/2004, 14h30
  3. [MFC] Ajout des fichiers récents dans un menu
    Par Choupinou dans le forum MFC
    Réponses: 3
    Dernier message: 20/08/2004, 16h47
  4. [MFC/SDI] BMP a la place d'un bouton
    Par gargle dans le forum MFC
    Réponses: 2
    Dernier message: 28/07/2004, 11h26
  5. Réponses: 4
    Dernier message: 14/06/2004, 09h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo