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] Un callback dans des MFC ...


Sujet :

MFC

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 28
    Points : 23
    Points
    23
    Par défaut [MFC] Un callback dans des MFC ...
    Bonjour,

    Voila mon probleme, j'ai une appli faite avec VC++ 6.0 et dans les ressources j'ai cree une fenetre avec un bouton.
    Le ON_BN_CLIKED de mon bouton lance une procedure de type waveoutopen(...) pour lire un fichier son. Jusque la ok.

    Le probleme c que le waveoutopen me renvoit des informations dans une fonction de callback waveoutproc(...)(notamment quand le flux audio commence ou s'arrete) et que je voudrais les utiliser pour mettre a jour mon bouton.

    Mais je n'arrive pas a acceder a mes ressources a partir de cette fonction !!!

    Le projet a ete cree avec le wizard VC++ donc il m'a cree un objet du type :
    AudioPCApp the_APP;

    Mais comment y acceder a partir de waveoutproc ? ou plutot comment a partir de waveoutproc pouvoir acceder a ma fenetre parceque je ne vois pas de declaration de handler de fenetre comme en WIN32...

    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
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    peut etre que ça ça peut marcher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AfxGetMainWnd()->GetActiveView()
    si ta fenetre est de type form.
    sinon essaye :
    static CWnd* PASCAL GetActiveWindow( );
    qui renverra le pointeur sur la fenetre active (ou ctrl);


  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 28
    Points : 23
    Points
    23
    Par défaut
    Excellent !!!

    Ca marche nickel avec le AfxGetMainWnd(); !

    Je savais pas qu'il existait ce genre de maros/fonctions globales pour les MFC. Maintenant je vois a peu pres comment passer de lun a l'autre.

    Encore Merci farscape !

    Je passe en resolu

  4. #4
    kor
    kor est déconnecté
    Nouveau membre du Club
    Inscrit en
    Juillet 2003
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 46
    Points : 34
    Points
    34
    Par défaut
    En fait, j'ai l'impression que tu ne connais pas trop l'architecture des MFC.
    Ne cherches les boucles de message et autres comme pour les API WIN32, y en a pas.

    Appli (classe)-> mainframe (classe)->....

    Cherche un tuto pour juste comprendre globalement comment ca marche.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/11/2010, 21h13
  2. stockages des informations dans les Mfc
    Par khafor dans le forum MFC
    Réponses: 1
    Dernier message: 25/02/2007, 19h16
  3. Réponses: 6
    Dernier message: 22/05/2006, 13h54
  4. Réponses: 7
    Dernier message: 09/02/2006, 16h51
  5. Réponses: 3
    Dernier message: 31/01/2005, 15h22

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