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 :

Récupérer message dans OnChange [FAQ]


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Par défaut Récupérer message dans OnChange
    Bonjour à tous,

    Voila, j'ai un contrôle CEdit, auquel j'ai associé un spin control.
    Lors de l'interception du message OnEnChange, j'aimerai savoir si la modification provient d'un clic sur le spin, ou si c'est l'utilisateur qui a entré un chiffre au clavier. Est-ce possible dans la fonction OnEnChange() ?

    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,
    non tu ne peux pas directement, mais tu peux faire ceci:
    intercepter le message UDN_DELTAPOS sur le spin ctrl.
    positionner un flag bSpin=true (initialisé préalablement a false bien sûr).
    ensuite OnChange sera appelé il suffira de tester le flag pour savoir si ça vient du spinctrl
    et de remettre la variable bSpin à false..

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Par défaut
    OK merci la technique marche bien !!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Par défaut
    heu ... désolé, cette technique marche bien, cependant, j'ai quelques problèmes à l'appliquer à votre classe CSpinBtnCtrl, en effet, si j'intercepte le message UDN_DELTAPOS dans ma classe principale, le programme n'entre jamais dedans.
    Apparemment, si j'enlève la surcharge de OnDeltapos dans la classe CSpinBtnCtrl, cela remarche.
    Y'a-t-il une solution pour que ça marche avec CSpinBtnCtrl ?

  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
    oui remplace ON_NOTIFY_REFLECT par ON_NOTIFY_REFLECT_EX dans ma classe , voir faq http://c.developpez.com/faq/vc/?page...MsgToParentWnd

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 48
    Par défaut
    désolé, mais il y a encore un hic !!

    apparemment, ON_NOTIFY_REFLECT_EX attend que ondeltaPos renvoie un BOOL, et non void...

    voila l'erreur : error C2440: 'static_cast' : impossible de convertir de 'void (__thiscall CSpinBtnCtrl::* )(NMHDR *,LRESULT *)' en 'BOOL (__thiscall CCmdTarget::* )(NMHDR *,LRESULT *)'

Discussions similaires

  1. Récupérer les messages dans une application cliente
    Par NetLandGim dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 04/08/2011, 14h19
  2. Récupérer un message dans n'importe quelle langue
    Par macumba dans le forum Grails
    Réponses: 0
    Dernier message: 02/08/2011, 22h46
  3. Comment récupérer les windows message dans un service
    Par coxman68 dans le forum Débuter
    Réponses: 0
    Dernier message: 26/02/2009, 12h20
  4. Récupérer message dans une boite de texte
    Par Nimothenicefish dans le forum Langage
    Réponses: 8
    Dernier message: 20/11/2008, 12h07
  5. Récupérer le nombre de message dans sa boite GMAIL
    Par VERTYODA dans le forum Web & réseau
    Réponses: 4
    Dernier message: 28/11/2005, 19h25

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