Bonjour à tous,

Dans mon application je cherche à implémenter un timer. Avec la méthode SetTimer, je démarre mon timer en lui spécifiant la callback à appeler à l'expiration du timer.

Voici une version simplifiée de mon code:
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
18
19
20
class CPwet{
...
int m_iValue;
...
void Init();
static void CALLBACK TimerProc(HWND hWnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime);
...
};
//----------------------
void CPwet::Init()
{
....
SetTimer(NULL,NULL,2000,(TIMERPROC)TimerProc);
....
}
 
void CALLBACK CPwet::TimerProc(HWND hWnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
{
....
}
Le problème que j'ai, c'est que je voudrais accéder à ma variable membre dans le procédure TimerProc sans avoir à la déclarer en statique dans la classe.
La procédure du timer étant une procédure préformatée (je ne peux pas rajouter dans ses paramètres un pointeur sur la classe), y'a-t-il moyen de récupérer autrement un accès sur cette variable?
Sinon, avez-vous une autre solution que celle-ci?

Merci d'avance