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 :

Routage des messages UPDATE_COMMAND_UI


Sujet :

MFC

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 225
    Par défaut Routage des messages UPDATE_COMMAND_UI
    Salut !

    Je suis en train de regarder le tutoriel de Farscape ("Démarrer avec les MFC") et plus particulièrement la partie qui traite des messages COMMAND et UPDATE_COMMAND_UI associés à la fonction Save (disponible soit depuis la toolbar ou depuis le menu)

    Pour plus de précision sur le contexte il est préférable d'ouvrir le tutoriel et d'aller à la page 53.

    Mes questions sont les suivantes :

    "Y a t'il un sens d'intercepter ces messages dans la MainFrame (SDI) ou faut il les intercepter dans la Vue ?"

    "Est ce normal que la fonction UPDATE_COMMAND_UI soit appellée en permanence ?"

    D'avance merci pour 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,
    Ma réponse est :
    Il faut traiter le message la où ça a le plus de sens.
    Exemple :
    Si le traitement et les données concernées sont situés dans la view, ça n’a pas de sens de mettre la réponse au message dans la mainframe.

    UPDATE_COMMAND_UI est appelé autant de fois que necessaire suivant le raffraichissement de l'interface concernée : bouton ou item d'un menu.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 225
    Par défaut
    Concernant ton tutoriel justement, dans la fonction OnUpdateFileSave j'ai ajouté la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AfxMessageBox(_T("Coucou"), MB_OK);
    et je constate que le message est affiché en permanence alors qu'il n'est pas question de refraîchir ni le bouton dans la toolbar ni l'item dans le menu.

    Pourquoi donc ?

  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
    parce qu'il ne faut pas mettre de message GUI dans un Oncommandui
    c'est pas fait pour .
    c'est fait pour mettre a jour l'interface concernée (grisée,coche etc..), suivant une condition ,qui peut peut dependre de la valeur d'une variable.
    ce qui va conditionner l'utilisation possible ou non du bouton ou du menu.



  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 225
    Par défaut
    Pour terminer, j'ai encore deux questions.

    Les fonctions UDPATE_COMAND_UI sont toujours appellées en permanence ?

    Ce n'est pas trop gênant d'appeller la fonction CanSaveData dans cette fonction en terme de performances ?

Discussions similaires

  1. Routage des messages du menu
    Par ram-0000 dans le forum MFC
    Réponses: 1
    Dernier message: 30/04/2011, 11h37
  2. Faites des messages corrects !!!
    Par Alacazam dans le forum C++
    Réponses: 6
    Dernier message: 23/03/2006, 15h56
  3. Gestion des message windows dans les threads
    Par billyboy dans le forum Windows
    Réponses: 5
    Dernier message: 06/10/2003, 17h25
  4. Réponses: 3
    Dernier message: 11/06/2003, 00h18

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