Bonjour � tous.
Je d�sire faire sous Visual C++ une fonction qui calcule le temps d'appui sur la barre d'espace. J'ai donc eu l'id�e de cr�er un Timer lorsque j'appuie sur la barre d'espace comme ceci :
Soit le timer arrive � 2 secondes, soit il est interrompue lorsque je rel�ve la barre d'espace, auquel cas je souhaiterai r�cup�rer le temps d'appui en milli-secondes via la fonction de CALLBACK :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 void CBillardView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { CView::OnKeyDown(nChar, nRepCnt, nFlags); if(nChar==0x20) { UINT_PTR m_timer = SetTimer(1, 2000,(TIMERPROC)TimerProc); // création du timer (2 secondes max) } } void CBillardView::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags) { CView::OnKeyUp(nChar, nRepCnt, nFlags); if(nChar==0x20) { KillTimer(1); } }
Mais seulement il me dit que je ne peux "overload" ma m�thode TimerProc et il voudrait que lors de l'appel du timer je l'appelle avec tous les param�tres n�cessaires .... et c'est l� que je bloque ! Si vous avez des id�es ou quoi que ce soit je suis preneur !
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 void CALLBACK TimerProc(HWND hWnd, UINT nMsg, UINT nIDEvent, DWORD dwTime) { CString str; float time=dwTime; str.Format(_T("%f"),time); AfxMessageBox(str); KillTimer(hWnd,1); }
Merci,
Staticx83.
Partager