Message WM_NCLBUTTONUP

Résolu
Messages postés
77
Date d'inscription
mardi 27 juin 2006
Statut
Membre
Dernière intervention
12 août 2010
-
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 août 2010
-
J'ai un problème dans la CallBack de ma fenêtre : je n'arrive pas à receptionner les messages WM_NCLBUTTONUP, qui sont envoyés à chaque fois que le boutton gauche de la sourie est relevé lorsque le curseur est sur la partie non-cliente de la fenêtre.
Voila une partie de mon code :
 
static BOOL boutton_g;

 switch (message)
 {
  case WM_CREATE:
   boutton_g = FALSE;
   return 0;
   
  case WM_NCLBUTTONDOWN:
   boutton_g = TRUE;
   return DefWindowProc (hwnd, message, wParam, lParam);



  case WM_NCLBUTTONUP:
   boutton_g = FALSE;
   return DefWindowProc (hwnd, message, wParam, lParam);

comme vous pouvez le constater, la conséquence de ce problème est que le programme considère le boutton gauche constament appuyé sur la partie non cliente.

1 réponse

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 août 2010
10
Effectivement le comportement est assez bizarre. Tu pourrais peut être utiliser le message WM_NCHITTEST, pour remplacer les deux autres:

switch (message)
 {
  case WM_CREATE:
   boutton_g = FALSE;
   return 0;
  
  case WM_NCHITTEST:
   boutton_g = GetAsyncKeyState(VK_LBUTTON);
   return DefWindowProc (hwnd, message, wParam, lParam);

_____________________________________
Un éditeur de ressources gratuit pour Windows