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 :

Problème de Timer


Sujet :

MFC

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Problème de Timer
    Bonjour alors j'esssaye de programmer un timer en Mfc mais j'avoue que sur la msdn il y a une fonction que je ne saisie pas :

    void CMainFrame::OnTimer(UINT nIDEvent)
    {
    MessageBeep(0xFFFFFFFF); // Beep

    // Call base class handler.
    CMDIFrameWnd::OnTimer(nIDEvent);
    }
    voir la l'exemple qu'il donne
    http://msdn2.microsoft.com/zh-cn/lib...df(VS.80).aspx
    Ma question est : à quoi sert "CMDIFrameWnd::OnTimer(nIDEvent);"
    et que dois-je mettre à la place de CMDIFrameWnd???
    Merci d'avance

  2. #2
    Membre expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Points : 3 065
    Points
    3 065
    Par défaut
    le OnTimer est la méthode qui est appelé à chaque "tour" effectué par le timer !

  3. #3
    Membre du Club Avatar de Seandest
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Avril 2006
    Messages : 54
    Points : 67
    Points
    67
    Par défaut
    Salut,

    Pour un timer t'as aps grand chose à faire.

    table des messages :
    Le code du timer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    afx_msg void OnTimer(UINT_PTR nIDEvent);
     
    void CMainFrame::OnTimer(UINT_PTR nIDEvent)
    {
    
    // traitement
    }
    Activer le timer toutes les secondes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SetTimer(1, 1000, NULL);
    

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Tout d'abord merci pour votre rapidité. J'ai deux questions encore : dans quel fichier est la table des message et ai-je le droit de déclaré le OnTimer dans mon fichier View comme ceci par exemple (Imp1 est le nom de mon prog) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    void CImp1View::OnTimer(UINT_PTR nIDEvent)
    {
    // traitement
    }
    D'avance merci


  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
    Points : 17 323
    Points
    17 323
    Par défaut
    le mieux est de générer le message avec l'assistant sinon tu va oublier de mettre la reponse a WM_TIMER dans BEGIN_MESSAGE_MAP.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    J'oubliai un dernier truc :
    Est ce que je doit appeler la fonction OnTimer pour qu'elle s'execute ou la fonction SetTimer s'en charge t'elle automatiquement? En bref est ce que je doit écrire cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nIDEvent = SetTimer(1,5000,NULL);//création d'un timer
        CImp1View::OnTimer(nIDEvent); //appel de ma fonction timer

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par farscape
    le mieux est de générer le message avec l'assistant sinon tu va oublier de mettre la reponse a WM_TIMER dans BEGIN_MESSAGE_MAP.
    Merci. En fait je viens de me rendre compte que j'ai utilisé l'assistant pour créer le WM_TIMER et je viens de voir ou était le message ON_WM_TIMER il ne me reste plus qu'à tester....

  8. #8
    Membre éprouvé
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Points : 1 128
    Points
    1 128
    Par défaut
    J'oubliai un dernier truc :
    Est ce que je doit appeler la fonction OnTimer pour qu'elle s'execute ou la fonction SetTimer s'en charge t'elle automatiquement? En bref est ce que je doit écrire cela :
    Non, le SetTimer() appel automatiquement ton OnTimer()

Discussions similaires

  1. [FLASH] Problème de timer sur FLV
    Par BnA dans le forum Flash
    Réponses: 1
    Dernier message: 03/11/2006, 12h52
  2. Toujours un problème avec Timer
    Par adidas40 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 10/10/2006, 12h04
  3. Problème de Timer
    Par hammag dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 25/04/2006, 18h52
  4. [VC++ - MFC] Problème de Timer
    Par Alice9 dans le forum MFC
    Réponses: 4
    Dernier message: 08/02/2006, 14h51
  5. [VB6] Problème contrôle Timer et boucle For-Next ...
    Par Stéphane BEHMENBURG dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 01/12/2005, 18h36

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