2010-06-27 16 views
2

J'essaie de faire en sorte que ma fenêtre principale reçoive des notifications lorsque l'utilisateur appuie sur une touche Suppr de l'élément d'une liste. Je l'ai essayé ceci:Capture de séquences de touches spécifiques à partir d'une zone de liste

case WM_CHARTOITEM: 
     if(lParam == (LPARAM)hwndListBox) 
     { 
      sprintf(debug, "0x%x", LOWORD(wParam)); 
      MessageBoxA(0, debug, 0, 0); 
     } 
     break; 

..et je suis toutes les frappes sauf la suppression (et fin, Home, Inerte, Haut, Bas, flèches, etc.). Bien que j'ai reçu la touche de suppression de Numpad.

Existe-t-il un moyen de le faire?

Merci.

Répondre

2

Ces clés ne produisent pas de message WM_CHAR. Vous aurez besoin de WM_VKEYTOITEM pour les voir.

+0

Merci, cela a fonctionné. Aussi, pour ceux qui trouveront cette question: listbox aura besoin d'un style LBS_WANTKEYBOARDINPUT pour produire WM_CKEYTOITEM. – GeorgeK