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 :

RegisterWindowMessage


Sujet :

MFC

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Par défaut RegisterWindowMessage
    bonjour,
    j'utilise dans une application une methode SetNotifyWindowMessage :
    SetNotifyWindowMessage sets up the instance to send window messages to a specified window.

    HRESULT SetNotifyWindowMessage(
    HWND hWnd,
    UINT Msg,
    WPARAM wParam,
    LPARAM lParam
    );
    qui est je pense assez ressemblante a RegisterWindowMessage
    et donc j'utilise ces 2 fonctions dans mon OnInitialUpdate()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    RegisterWindowMessage("WM_RECOEVENT");
    //ou
    m_cpV->SetNotifyWindowMessage(AfxGetMainWnd()->m_hWnd, WM_RECOEVENT , 0, 0);
     
    // avec #define WM_RECOEVENT	WM_APP+101
    j''ai essayé ensuite d'intercepter mon message dans PreTranslateMessage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
       if(pMsg->message == WM_RECOEVENT){
    	AfxMessageBox("OK");
    mais rien ne s'affiche
    pourquoi?

  2. #2
    Membre émérite Avatar de 10_GOTO_10
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    890
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 890
    Par défaut
    Je ne saisis pas bien ce que tu veux faire:

    - Tu appelles RegisterWindowMessage mais tu ne mémorises pas la valeur de retour: quel interet ?

    - Tu redéfinis ensuite WM_RECOEVENT par un #define: c'est donc une constante ?

  3. #3
    Membre confirmé Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Par défaut
    non je mémorise bien la valeur de retour, j'ai juste oublié de le noter
    quant à mon WM_RECOEVENT , je ne le redéfinis pas, je le definis juste au debut.

  4. #4
    Membre confirmé Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Par défaut
    sinon y a t il un moyen de voir la file de messages pour savoir ou est mon WM_RECOEVENT ??

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 77
    Par défaut
    est ce qu'il y a bine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WM_RECOEVENT = RegisterWindowMessage("WM_RECOEVENT");
    dans le code ?

  6. #6
    Membre confirmé Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Par défaut
    euh non j'ai plutot ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    static UINT WM_Find = RegisterWindowMessage( "WM_RECOEVENT" );

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 77
    Par défaut
    Dans ce cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(pMsg->message == WM_Find ){ 
       AfxMessageBox("OK");
    devrait etre satisfaisant, à condition que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static UINT WM_Find = RegisterWindowMessage( "WM_RECOEVENT" );
    soit dans le même fichier source

  8. #8
    Membre confirmé Avatar de lenouvo
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 252
    Par défaut
    oui ca marche en ajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ::PostMessage(m_hWnd,wm_Find,0,0);

Discussions similaires

  1. RegisterWindowMessage sous Terminal Services
    Par SteffX dans le forum Windows
    Réponses: 6
    Dernier message: 04/10/2009, 23h20
  2. Mettre en pause le RegisterWindowMessage
    Par Bart_lx dans le forum Windows
    Réponses: 4
    Dernier message: 01/02/2008, 14h17
  3. RegisterWindowMessage ou pas?
    Par BabelTool dans le forum Windows
    Réponses: 4
    Dernier message: 24/10/2007, 23h15
  4. WndProc, Registerwindowmessage & composant
    Par Ludo_360 dans le forum Delphi
    Réponses: 4
    Dernier message: 05/07/2007, 12h40

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