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 :

Utiliser une seule barre de menu en MDI


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut Utiliser une seule barre de menu en MDI
    Bonjour à tous,

    Dans un projet MDI, je modifie mes menus au chargement de la fenêtre principale en fonction des droits d'accès de l'utilisateur. Ca, ça marche bien.

    Par contre, je voudrais savoir s'il est possible d'utiliser cette même barre de menu modifiée pour tous mes documents/vues. Car à l'ouverture d'un nouveau document/vue, c'est la barre des menus telle qu'elle est dans les ressources qui apparaît.

    Merci de votre aide !

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    il suffit au moment de la declaration du document template dans initInstance
    de donner le même identifiant IDR_MAINFRAME (si c'est celui que tu as modifié).

  3. #3
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Oui, c'est bien IDR_MAINFRAME que je modifie. Et je n'ai qu'une seule ressource pour ce qui concerne mes menus ; c'est donc celle-ci que pour tous mes documents.
    Mais la modification ne concerne que les menus de la fenêtre principale...

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    tu n'as du mettre IDR_MAINFRAME dans le doctemplate:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        CMultiDocTemplate* pDocTemplate;
        pDocTemplate = new CMultiDocTemplate(
            IDR_TESTMDTYPE, // ici il faut mettre IDR_MAINFRAME !!!!!
            RUNTIME_CLASS(CTestMdILayoutDoc),
            RUNTIME_CLASS(CChildFrame), // custom MDI child frame
            RUNTIME_CLASS(CTestMdILayoutView));
        AddDocTemplate(pDocTemplate);

  5. #5
    Membre chevronné
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Par défaut
    Si, si, Farscape, je t'assure que j'ai bien mis IDR_MAINRAME a cet endroit ! D'ailleurs, comme je n'ai qu'une seule ressource pour mes menus, ça planterait sinon...

    Le problème vient sans doute du fait que la modification dynamique de mes menus se fait dans le OnCreate de ma fenêtre principale et que je ne modifie que les menus de cette fenêtre principale. Mais je ne sais pas comment faire autrement.

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    hum dans ce cas tu devras aussi modifier dynamiquement le menu de la MDI:
    http://c.developpez.com/faq/vc/?page...tMenuActiveMDI

Discussions similaires

  1. [XL-2003] fonction mscomm1.input utilisable une seule fois?
    Par Elfstat dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/04/2009, 13h02
  2. Réponses: 5
    Dernier message: 27/02/2009, 12h31
  3. Utiliser une seule fois printf
    Par Minouchka dans le forum Débuter
    Réponses: 2
    Dernier message: 16/11/2007, 18h13
  4. utiliser une seule servlet pour toutes les jsp
    Par DoubleU dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 20/09/2007, 19h30
  5. [VB6] Utiliser une Progressbar (barre de progression)
    Par Sytchev3 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 29/03/2006, 14h57

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