WM_CHARTOITEM
nKey = wParam; /* key value */
hwndListBox = (HWND) LOWORD(lParam); /* list box handle */
iCaretPos = HIWORD(lParam); /* caret position */
The WM_CHARTOITEM message is sent by a list box with the LBS_WANTKEYBOARDINPUT style to its owner in response to a WM_CHAR message.
nKey
Value of wParam. Specifies the value of the key the user pressed.
hwndListBox
Value of the low-order word of lParam. Identifies the list box.
iCaretPos
Value of the high-order word of lParam. Specifies the current caret position.
The return value specifies the action that the application performed in response to the message. A return value of –2 indicates that the application handled all aspects of selecting the item and requires no further action by the list box. A return value of –1 indicates that the list box should perform the default action in response to the keystroke. A return value of 0 or greater specifies the zero-based index of an item in the list box and indicates that the list box should perform the default action for the keystroke on the given item.
Only owner-drawn list boxes that do not have the LBS_HASSTRINGS style can receive this message.