Voila je fais une appli Win32 qui necesite l'emploi d'un timer
Le probleme c'est que je ne recois jamois le message WM_TIMER ,en fait je le recois si je ne fais pas appel a la fonction SetCursorPos dont j'ai besion aussi
voici mon code
//fonction main [...]
SetTimer(hWnd,1,10,NULL);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
KillTimer(hWnd,1);
ShowCursor(TRUE); //on le raffiche
return msg.wParam;
}
/*---------------------------------*/
//Fonction de gestion des messages
/*---------------------------------*/
LRESULT CALLBACK WinProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
{
//[...] case WM_CREATE etc
//tout ca marche parfaitement
case WM_MOUSEMOVE: //gestion de la souris
GestionSouris(&c);
//Et c'est la que ca coince car dans gestionsouris je fait
//appel a SetCursorPos
//Si je ne fait plus appel a setcursor pos c'est bon ca passe
//mais ma fonction gestion souris ne fonctionne plus comme il faut
UpdateWindow(hWnd);
return 0;
case WM_TIMER:
//[...] ce que j'ai a faire return 0;
}
return DefWindowProc (hWnd,uMsg,wParam,lParam);
}
Donc le truc est tres etrange
En plus,
Si lorsque je recois le message WM_PAINT je renvoye autre chose que DefWindowProc([...]) ca me fait la meme chose, je ne recois plsu de message timer
J'ai essayé de faire appel a une fonction callback de timer mais ca me fait la meme chose
A la limite le Pb avec le PAINT je peut le regler mais avec le SetCursor je bloque HELP!!!