Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Un timer qui reste "muet" [ Archives / Au secours ] (dbiare)

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é 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

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.