Message WM_NCLBUTTONUP

Résolu
_michel Messages postés 77 Date d'inscription mardi 27 juin 2006 Statut Membre Dernière intervention 12 août 2010 - 24 août 2006 à 12:23
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 24 août 2006 à 14:36
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

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 13
24 août 2006 à 14:36
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
3