begin process at 2012 02 11 11:44:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Un timer qui reste "muet"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Un timer qui reste "muet"

jeudi 15 décembre 2005 à 15:55:41 | Un timer qui reste "muet"

dbiare

Bonjour Je n’arrive pas a déclencher un timer sous Visual C++6 !!! Après avoir créé un symbole (ID_TIMER) et lui donner une valeur j’écrit : SetTimer(ID_TIMER,500,NULL); J’écris une fonction Timer() et je ne sais pas comment relier l’événement (mis en application avec la fonction SetTimer(…)) et la fonction Timer() ?? Quelqu’un peu m’aider svp… ? Merci
jeudi 15 décembre 2005 à 16:09:21 | Re : Un timer qui reste "muet"

CoyoteVsBeepBeep

Membre Club

pour t'aider:

vérifie que dans ton fichier class.h tu retrouves:

protected:
 //{{AFX_MSG(class)
afx_msg void OnTimer(UINT nIDEvent);
   //}}AFX_MSG
 DECLARE_MESSAGE_MAP()

que dans ton fichier class.cpp tu retrouves:

BEGIN_MESSAGE_MAP(CChildView,CWnd )
 //{{AFX_MSG_MAP(CChildView)
 ON_WM_PAINT()
   ON_WM_TIMER()
 //}}AFX_MSG_MAP
END_MESSAGE_MAP()

c'est ce qui te permet de capter l'évenement WM_TIMER et de te rediriger vers la fonction void Class::OnTimer(UINT nIDEvent)

j'espere que ca pourra te dépanner.....

jeudi 15 décembre 2005 à 16:37:07 | Re : Un timer qui reste "muet"

dbiare

Après vérification je n’ai rien de tout cela dans mon x.h et x.cpp Bien évidement, quand je rajoute, à la main, ce que tu m’as écrit en gras cela ne fonctionne pas ! Voici ma démarche : Je vais dans l’onglet Resource View de l’espace de travail, click droit sur xxxResources et sélectionne Resource Symbole. Je crée un nouveau symbole (ID_TIMER) et je lui attribut une valeur (différente de toutes celle qui existent). Dans la fonction OnInitDialog (c’est une application MFC dialog Box), j’écrit : SetTimer(ID_TIMER,500,NULL); ce qui donne un déclenchement toute les 500 ms sans contourner l’événement. J’écris une fonction OnTimer() dans laquelle je « traite » l’événement. Ma démarche est-elle correcte ? Elle doit certainement être erronée puisque je n’aperçois pas : afx_msg void OnTimer(UINT nIDEvent); et ON_WM_TIMER() Aux endroits indiqués ! Arrrrrrrgggggg !!!
jeudi 15 décembre 2005 à 16:43:43 | Re : Un timer qui reste "muet"

ricky78

Rebonjour


C'est dans claase wizard que tu indique a ton dialog que tu as un TIMER.
Tu cherche le message WM_TIMER et tu cree une nouvelle fonction OnTimer , le class wizard t'ecrira directement  ce qu'il te faut dans le .h et le cpp.
Il ne reste plus qu'a aller a ta fonction OnTimer et code en fonction de ID de ton timer

void CSpace43Dlg::OnTimer(UINT nIDEvent)
{
 // TODO: Add your message handler code here and/or call default

  switch (nIDEvent)
 {
 case ID_TIMER :
Break;
}




TOCHE

jeudi 15 décembre 2005 à 16:51:22 | Re : Un timer qui reste "muet"

CoyoteVsBeepBeep

Membre Club
une des maniere simple de créer ton timer est:
dans ton project tu fais menu view/classwizard.
dans Messages tu selectionne WM_TIMER puis tu fais bouton add function et bouton Edit code.

ca devrait te creer la fonction correctement.

par contre, écrire a la main afx_msg void OnTimer(UINT nIDEvent); et ON_WM_TIMER() devrait fonctionner.

si tu as deja créer des évenement, tu devrais deja avoir d'autre déclaration afx dans ton *.h et d'autre message WM_* dans ton cpp
jeudi 15 décembre 2005 à 16:54:47 | Re : Un timer qui reste "muet"

CoyoteVsBeepBeep

Membre Club
j'ai oublié, dans ton fichier dlg.cpp, dans ta fonction OnInitDialog(), ajoute un
SetTimer(0,100,NULL); par exemple (id=0 et temps de déclenchement= 100 ms)

met un break point dans ta fonction timer et tu devrais rentrer dedans a tout les coup !

 

jeudi 15 décembre 2005 à 18:02:44 | Re : Un timer qui reste "muet"

CoyoteVsBeepBeep

Membre Club
autre moyen de creer aussi ton timer:
tu vas dans ta dialog box (dans ressources), tu fais un click droit dessus (pas dans la partie workspace mais dans la partie ou tu vois ta boite de dialogue) tu choisis event puis tu choisis dans NEW Windows messages event WM_TIMER et tu cliques sur le bouton Add and Edit.



voila, c'est encore une autre solution qui te permet de créer un timer qui marche.

les lignes de code afx_msg void OnTimer(UINT nIDEvent); et ON_WM_TIMER() devraient etre ajouter automatiquement par le wizard
jeudi 15 décembre 2005 à 18:13:06 | Re : Un timer qui reste "muet"

dbiare

C'est bon mon timer fonctionne alors je vais l'utiliser comme cela car j'ai perdu trop de temps aujourd'hui!! Mon soft ne sera jamais prés a temps!! Merci encore
lundi 10 avril 2006 à 19:17:51 | Re : Un timer qui reste "muet"

DrSteffie

Merci aussi, grâce a vous je viens de réussir mon Timer
lundi 10 avril 2006 à 22:04:13 | Re : Un timer qui reste "muet"

CoyoteVsBeepBeep

Membre Club
content d'avoir pu te dépanner

 

ca veut dire que potentiellement, ca peut encore servir a plein de monde. ca fait plaisir..

A+


Cette discussion est classée dans : fonction, timer, reste, id, muet


Répondre à ce message

Sujets en rapport avec ce message

timer dans des threads [ par z3bul0n ] Comment faire pour gérer un SetTimer créé dans un thread sans utiliser de fonction : j'aimerai recevoir le WM_TIMER à chaque fois qu'il y en a un dans Acces class a travers un timer [ par dambeaufort ] Bonjour, je viens de creer un timer sous MFCce timer devrais m'appeler une fonction d'une classe, le probleme c que ca me dit que m'a fonction n'est p SetTimer [ par palenthir ] Svp aider moi.J'utilise la fonction SetTimer, a pparemment je la rempli correctement (pas d'erreur ni a la compilation ni a l'execution). Je me suis a Probleme de Timer avec SetCursorPos [ par Maegis ] Voila je fais une appli Win32 qui necesite l'emploi d'un timerLe probleme c'est que je ne recois jamois le message WM_TIMER ,en fait je le recois si j [C++ API W32] Timer et dialogbox... [ par ludoviskm ] Bonjour a toutes et a tous.Je suis actuellement en train de fair un petit programme qui se connecte a une base de données.Dans ce programme, je souhai Timer [ par falcon971 ] Bonjour, je cherche à réaliser un timer sous linux en C.Après toute mes recherche sur le net je n'ai pu trouver de version correspondant à mon cas.Je Timer précis mode console [ par bigzooloo ] Bonjour,Voici mon problème : je souhaite avoir un Timer PRECIS de 40 ms en mode console.- J'ai déjà essayé la fonction Sleep(40) mais elle attend ENVI Timer...? [ par dbiare ] Bonjour Je veux déclencher un timer sous Visual C++6. Je vais dans l’onglet Resource View de l’espace de travail, click droit sur xxxResources et séle Idle et timer [ par nisaloncaje ] Rebonjour à tous, je suis toujours débutant :) et par conséquent j'ai toujours besoin d'aide :).En fait, je voudrais savoir comment est ce que je peux Timer dans service [ par deck_bsd ] Bonjour à tous,Voila, je me demandai, ds mon service je doit me servir d'un timer. Hors celui-ci ne contient aucune fenêtre et donc aucun hwnd. Donc d


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,761 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales