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 :

Envoi de message


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 22
    Par défaut Envoi de message
    Bonjour à tous,
    J'aimerais envoyer un message à une fênetre suite à un évènement qui s'est déroulé dans un contrôle (par exemple un TreeView).
    Ma question est de savoir comment envoyé un évènement personnalisé
    (User Message).
    Le message envoyé sera t-il intercepté par uniquement la fênetre contenant le contôle ou alors pourrait être intercepté par n'importe quelle autre fênetre.

    J'ai vu qu'il existe la fonction SendMessage dans VC++
    comment ça marche exactement?

    quelle est la difference avec On_Notify?

    Lorsque qu'on créé un message utilisateur comment s'assurer que ce message n'est pas un évènement prédéfini dans windows?

    un petit exemple serait très apprécié.

    Merci d'avance.

  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 ,
    tout ces sujets sont traités dans la faq:
    Message privé:
    http://c.developpez.com/faq/vc/?page...PrivateMessage
    Message Notify:
    http://c.developpez.com/faq/vc/?page...s#PrivateNotiy

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 22
    Par défaut
    Merci j'essaie ceci et je reviens à vous en cas de problème

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 22
    Par défaut
    j'ai utilisé le PostMessage sur un bouton d'une fênetre et j'arrive à envoyé un message à la fênetre parent du bouton.
    J'ai essayé de faire pareil entre deux dialogues. envoyer un message
    d'un CDialog à un autre CDialog ça n'a pas fontionné. peut-être
    qu'il y aurait une autre façon d'effectuer ceci?
    Dois-je utiliser RegisterWindowMessage pour ceci?

    Merci d'avance

  5. #5
    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,
    entre deux dialogues modales ? si c'est le cas je ne pense pas que ça fonctionne..


  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 22
    Par défaut
    Merci de votre réponse. C'est bien le cas . J'ai essayé d'envoyer un message entre deux dialogues modales.
    Quelle est pour vous la manière la plus simple pour échager des paramètres entre deux dialogues (modales ou non)
    Merci

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Pour poster ou envoyer le message (on suppose qu'on parle d'un message non-enregistré, mais supérieur à WM_APP)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    const UINT MON_MESSAGE = (WM_APP+1);
     
    //On suppose qu'on a un CWnd * pt_dlg qui pointe vers la CWnd ou CDialog réceptrice
    pt_dlg->PostMessage(MON_MESSAGE, a, b);
    ou
    resultat = pt_dlg->SendMessage(MON_MESSAGE, a, b);
    Au passage: PostMessage() ajoute le message à la file d'attente du thread qui contient la fenêtre destinataire et retourne immédiatement après. SendMessage() attend que la fenêtre destinataire traite le message et renvoit son résultat.

    Plus dur en MFC, traiter le message: Il faut ajouter à la main une entrée dans la MessageMap (enfin, j'ai pas trouvé avec le ClassWizard) : chercher dans MSDN: ON_MESSAGE

    Note: cela marche parfaitement entre deux dialogues modales, si toutes les deux sont affichées (soit dans deux threads séparés, soit tout simplement parce qu'une boite de dialogue en a ouvert une autre)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    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
    si on a 2 boites de dialogues Modales je pars du principe que la boite de dialogue 1 est mise a jour a la sortie de la boite de dialogue 2 .
    ce qui est quand même le plus simple et le plus logique en exploitation.
    j'ai donné un exemple la semaine derniere sur ce cas precis.
    http://farscape.developpez.com/Sampl...UpdateData.zip

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 22
    Par défaut
    Merci Médinoc, je vais essayer ceci entre deux dialogues. dans le cas de deux Dialogues, faut-il utiliser GetParent() pour obtenir la dialogue réceptrice?
    Merci

  10. #10
    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
    au pire pour l'envoi de messages entre 2 dialogues (bien que je ne trouve pas que la solution soit top)
    le sendmessage decrit precedement doit fonctionner , a condition de disposer du pointeur sur la dialogue.
    le plus simple etant de fournir dans le constructeur de la deuxieme dialogue l'adresse de la dialogue 1 .

Discussions similaires

  1. Envoi de message
    Par bendev dans le forum ASP
    Réponses: 5
    Dernier message: 11/10/2004, 11h40
  2. Envoi de message entre 2 applications
    Par floweez dans le forum Windows
    Réponses: 9
    Dernier message: 30/06/2004, 16h34
  3. [MFC] Envoi de message
    Par leskritiques dans le forum MFC
    Réponses: 5
    Dernier message: 29/04/2004, 11h26
  4. Réponses: 13
    Dernier message: 14/01/2004, 16h35
  5. Envoi de messages MS DOS avec le IP
    Par asphp dans le forum Développement
    Réponses: 6
    Dernier message: 07/01/2004, 16h11

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