Bonjour,
Je voudrais pouvoir désactiver la souris au début d'une boucle qui dessine dans OnDraw(..) et la réactiver à la fin de cette boucle.
J'ai constaté que lorsque je cliquais sur le bouton gauche ou droit de la souris pendant l'exécution de cette boucle le sablier se mettait en place et le dessin ne progressait plus à l'écran ,sans qu'il y ait un plantage car à la fin de l' exécution de la boucle tout redevient normal .
Je voudrais donc empêcher la souris d'envoyer des événements...
J'ai essayé en mettant en place un HOOK sur les messages WM_LBUTTONDOWN et WM_RBUTTONDOWN mais je ne sais pas ce qu'il faut faire quand on les a piégés pour qu'ensuite ils ne soient plus actifs.
Je me suis servi de la fonction msghook d'un exemple que j'ai modifiée ainsi sans résultat:Quelqu'un pourrait-il m'aider ?
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 static LRESULT CALLBACK msghook(UINT nCode, WPARAM wParam, LPARAM lParam) { if(nCode < 0) { /* pass it on */ CallNextHookEx(hook, nCode, wParam, lParam); return 0; } /* pass it on */ LPMSG msg = (LPMSG)lParam; //////////////////////////MODIF/////////////////// if (msg->message == WM_MOUSEMOVE || msg->message == WM_NCMOUSEMOVE || msg->message == WM_LBUTTONDOWN || msg->message == WM_RBUTTONDOWN) {} //PostMessage(hWndServer, UWM_MOUSEMOVE, 0, 0); ////////////////////FIN MODIF///////////////////////////////////// return CallNextHookEx(hook, nCode, wParam, lParam); } // msghook
A l'avance , merci.
PS - que signifie exactement la présence du sablier dans mon cas ?
Partager