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] Menu inaccessible après changement de nom


Sujet :

MFC

  1. #1
    Membre régulier Avatar de Philippe320
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 179
    Points : 99
    Points
    99
    Par défaut [MFC] Menu inaccessible après changement de nom
    Bonjour,

    j'ai un menu, dont un des items ID_XXX a pour legende "(vide)" au départ

    Après un clic dessus, je charge le fichier abc.txt par exemple,
    et avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     pMenu =CMenu::FromHandle(menu);
    		pMenu->ModifyMenu(ID_XXX, MF_BYCOMMAND, 0, NomFichier);
    la légende devient abc.
    Jusque là tout va bien.

    Mais l'item est devenu inactif : la légende est affichée normalement (pas en grisé), mais il ne réagit pas à un nouveau clic.

    Si je supprime le code précédent (la légende reste donc "(vide)" ), l'item est naturellement toujours actif.

    Je ne sais pas si je suis très clair ce matin, mais que faut-il faire de plus ou différemment pour que l'item reste actif
    (j'ai essayé un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pMenu->EnableMenuItem(ID_XXX, MF_ENABLED | MF_BYCOMMAND);
    mais ça ne change rien )


    Merci d'avance
    Philippe
    Philippe

  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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    a tout hasard essaye de rajouter MF_STRING dans l'argument nFlags
    BOOL ModifyMenu(
    UINT nPosition,
    UINT nFlags,
    UINT_PTR nIDNewItem = 0,
    LPCTSTR lpszNewItem = NULL
    );

  3. #3
    Membre régulier Avatar de Philippe320
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 179
    Points : 99
    Points
    99
    Par défaut
    Bonjour,

    ça ne marche pas mieux ....
    j'ai tenté un après le ModifyMenu, mais sans succès.

    D'autres idées peut-être ?

    Merci d'avance
    Philippe
    Philippe

  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
    Points : 17 323
    Points
    17 323
    Par défaut
    tu es sur que ça fonctionne avant le changement de libellé du menu ?

  5. #5
    Membre régulier Avatar de Philippe320
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 179
    Points : 99
    Points
    99
    Par défaut
    oui, car c'est dans la procédure appelée par cet item que je charge un fichier, et que je change le nom de l'item :

    après cela, le fichier est bien chargé, et l'item a bien changé de nom. Mais, il n'est plus "selectionnable"

    Philippe
    Philippe

  6. #6
    Membre régulier Avatar de Philippe320
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 179
    Points : 99
    Points
    99
    Par défaut
    J'AI TROUVE !!!!!!!!

    je faisais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pMenu =CMenu::FromHandle(menu);
          pMenu->ModifyMenu(ID_XXX, MF_BYCOMMAND, 0, NomFichier);
    et c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pMenu =CMenu::FromHandle(menu);
          pMenu->ModifyMenu(ID_XXX, MF_BYCOMMAND, ID_XXX, NomFichier);
    qu'il fallait faire :
    il faut donner en 3ème position le nouvel ID de l'item (dans mon cas c'est le même)

    Enfin....
    Philippe
    Philippe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Joomla!] site ne s'affiche pas aprés changement du nom du dossier qui le contient
    Par mouned dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 07/03/2015, 18h56
  2. [2008R2] Connexion impossible après changement de nom de l'ordinateur
    Par sandra_leb dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/06/2013, 17h28
  3. ubuntu : sudo impossible après changement de nom de machine
    Par chticricri dans le forum Administration système
    Réponses: 3
    Dernier message: 11/09/2011, 18h49
  4. [CR 9] Nom de table pas mis à jour après changement de la source de données
    Par zodeno dans le forum Connectivité
    Réponses: 3
    Dernier message: 29/09/2009, 13h36
  5. Compte root inaccessible après changement de shell
    Par Jpountz dans le forum Administration système
    Réponses: 1
    Dernier message: 03/05/2006, 17h24

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