Message WM_VKEYTOITEM

Envoyé par une zone de liste avec le style LBS\_WANTKEYBOARDINPUT à son propriétaire en réponse à un message WM\_KEYDOWN.

WM_VKEYTOITEM

    WPARAM wParam;
    LPARAM lParam; 

Paramètres

wParam

Le LOWORD spécifie le code de touche virtuelle de la touche enfoncée par l’utilisateur. Le HIWORD spécifie la position actuelle du point d’insertion.

lParam

Handle de la zone de liste.

Valeur retournée

La valeur de retour spécifie l’action que l’application a effectuée en réponse au message. Une valeur de retour de -2 indique que l’application a géré tous les aspects de la sélection de l’élément et ne nécessite pas action supplémentaire par la zone de liste. (Consultez les remarques.) Une valeur de retour de -1 indique que la zone de liste doit effectuer l’action par défaut en réponse à la frappe. Une valeur de retour de 0 ou plus spécifie l’index d’un élément dans la zone de liste et indique que la zone de liste doit effectuer l’action par défaut pour la frappe sur l’élément spécifié.

Notes

Une valeur de retour de -2 est valide seulement pour les touches qui ne sont pas traduites en caractères par le contrôle de zone de liste. Si le message WM_KEYDOWN est traduit en un message WM_CHAR et que l’application traite le message WM_VKEYTOITEM généré comme un résultat de la frappe sur la touche, la zone de liste ignore la valeur de retour et effectue le traitement par défaut pour ce caractère). Les messages WM_KEYDOWN générés par des touches comme VK_UP, VK_DOWN, VK_NEXT et VK_PREVIOUS ne sont pas traduits en messages WM_CHAR. Dans ce cas, le fait d’intercepter le message WM_VKEYTOITEM et de retourner -2 empêche la zone de liste d’effectuer le traitement par défaut pour cette touche.

Pour intercepter les touches qui génèrent un message de caractère et effectuent un traitement spécial, l’application doit sous-classer la zone de liste, intercepter les messages WM_KEYDOWN et WM_CHAR, et traiter les messages de façon appropriée dans la procédure de la sous-classe.

Les remarques précédentes s’appliquent aux zones de liste régulières créées avec le style LBS_WANTKEYBOARDINPUT. Si la zone de liste est dessinée par le propriétaire, l’application doit traiter le message WM_CHARTOITEM..

La fonction DefWindowProc retourne -1.

Si une procédure de boîte de dialogue traite ce message, elle doit convertir la valeur de retour souhaitée en BOOL et retourner directement la valeur. La valeur DWL_MSGRESULT définie par la fonction SetWindowLong est ignorée.

Spécifications

Condition requise Value
Client minimal pris en charge
Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
En-tête
Winuser.h (y compris Windows.h)

Voir aussi

Référence

WM_CHARTOITEM

Autres ressources

HIWORD

LOWORD

WM_KEYDOWN