Timer en MFC

akalys Messages postés 31 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 6 janvier 2010 - 6 janv. 2010 à 19:26
Carliman86 Messages postés 3 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 janvier 2010 - 25 janv. 2010 à 08:18
Bonsoir,


Realisant un lecteur MP3 j'aurais besoin d'utiliser un timer pour la progression d'un slider suivant le temps.

J'essais en créant un WM_TIMER mais je n'arrive pas à trouvé les bon arguments pour la fonction SetTimer.



Merci !




Vive le rugby XIII

2 réponses

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 4
7 janv. 2010 à 08:49
Salut,
Comment as-tu fait la gestion de ton timer ?
Peux-tu mettre le code de settimer et la fonction qui catch l'événement WM_TIMER ?
Carliman86 Messages postés 3 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 25 janvier 2010
25 janv. 2010 à 08:18
En utilisant les MFC c'est très simple. Tout d'abord tu crée un Timer via la fonction SetTimer (<Numero Unique>,<Temps en ms>,<Fonction callback ou NULL pour la fonction par défaut>);

Donc dans ton OnInitDialog :

BOOL <MA CLASSE>::OnInitDialog()
{
<CLASSE DE BASE>::OnInitDialog();

// Création d'un Timer de 200 ms
SetTimer(1, 200, NULL);

return TRUE;
}

Maintenant comme nous n'avons pas défini de fonction de callback, la fonction par défaut sera appelé par le gestionnaire d'événement WM_TIMER

Ajouter dans le gestionnaire d'événement la ligne :

ON_WM_TIMER ( )

Puis la fonction :

void <MA CLASSE>::OnTimer(UINT nIDEvent)
{
// Mon traitement

<CLASSE DE BASE>::OnTimer(nIDEvent);
}

Penser à ajouter dans le point h le prototype :

afx_msg void OnTimer (UINT TimerVal);

Et en fin d'utilisation du timer appeler la fonction KillTimer (<Numero Unique du timer à detruire>)
Rejoignez-nous