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 :

setTimer


Sujet :

MFC

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

    Informations forums :
    Inscription : Avril 2003
    Messages : 116
    Points : 40
    Points
    40
    Par défaut setTimer
    bonjour,
    je voudrais utiliser un setTimer pour activer une fonction tous les X secondes.

    je prossède de la manière suivante :

    j'ai créé une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void CIConsoleDlg::OnStartTimer()
    {
    	m_nTimer = SetTimer(1, 2000, 0);
    }
    et j'ai une fonction "OnTimer" déclaré avec classwizard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    void CIConsoleDlg::OnTimer(UINT nIDEvent) 
    {
     
        switch(nIDEvent)
        {
            GetDlgItem(IDC_STATIC_Status)->SetWindowText("OUI");
            default:break;
        }  
     
    	CDialog::OnTimer(nIDEvent);
    }
    Quand j'appuis sur un bouton, je lance la fonction OnStartTimer().

    malheureusement, qd je lance "OnStartTimer" je ne rentre pas dans mon "onTimer", pourquoi???

    merci


  2. #2
    mat.M
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void CIConsoleDlg::OnTimer(UINT nIDEvent) 
    { 
     
    switch(nIDEvent) 
    { 
    GetDlgItem(IDC_STATIC_Status)->SetWindowText("OUI"); 
    default:break; 
    }
    nIDEVent = ????
    Mettre un point d'arrêt et voir à quoi équivaut cette variable.
    Savoir se servir du débogueur

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 116
    Points : 40
    Points
    40
    Par défaut
    je sais même pas si le fonction onTimer est appelé. j'ai mis un point d'arret dessus et je n'y vais même pas

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 96
    Points : 33
    Points
    33
    Par défaut
    selon moi OnStartTimer est un evenement ça ne démarre pas le timer.Essaye de voir s'il y a une fonction Start();

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 60
    Points : 50
    Points
    50
    Par défaut
    Que vaut la variable m_nTimer après le SetTimer ?
    Elle devrait valoir 1 logiquement.

    Sinon, le switch est un peu bizarre, non ?
    Je savais pas qu'on pouvait faire des switch sans case.
    Quel est l'interet ?

  6. #6
    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
    Citation Envoyé par _yeye_
    Que vaut la variable m_nTimer après le SetTimer ?
    Elle devrait valoir 1 logiquement.

    Sinon, le switch est un peu bizarre, non ?
    Je savais pas qu'on pouvait faire des switch sans case.
    Quel est l'interet ?
    +1
    ton code n''est pas du tout correct !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void CIConsoleDlg::OnTimer(UINT nIDEvent)
    {
     
    GetDlgItem(IDC_STATIC_Status)->SetWindowText("OUI");
     
    }
    verifie le retour de SetTimer quelle est sa valeur ?,
    met un point d'arret dans la fonction OnTimer .

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Points : 104
    Points
    104
    Par défaut
    Salut


    Tu as bien "ON_WM_TIMER()" dans ta message map :
    Et sinon c vrai que ton switch semble un peu special...

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 183
    Points : 79
    Points
    79
    Par défaut
    AMA:

    Execute m_nTimer = SetTimer(1, 2000, 0); dans un endroit où tu passe, puis virre le switch du ::OnTimer() ... sauf si tu utilise plusieurs timers en parrallèle ...

    Et virre aussi le ::OnStartTimer() ...

    PS: tu peux aussi preciser directement la fonction à executer si tu en veux pas ajouter le WM_ONTIMER ... SetTimer(1, 2000, 0, maFonction() );

Discussions similaires

  1. [Inno Setup] SetTimer
    Par Calys dans le forum Outils
    Réponses: 3
    Dernier message: 22/01/2008, 14h36
  2. utilisation de SetTimer
    Par akvar dans le forum C
    Réponses: 4
    Dernier message: 19/03/2007, 17h16
  3. Problème SetTimer
    Par ptitJP dans le forum MFC
    Réponses: 4
    Dernier message: 05/05/2006, 14h14
  4. Contraire de Settimer
    Par K.othmane dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 29/11/2005, 18h50
  5. Le callback de SetTimer
    Par bigquick dans le forum MFC
    Réponses: 13
    Dernier message: 09/03/2005, 10h25

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