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.
WM_CHARTOITEM
nKey = LOWORD(wParam); // key value
nCaretPos = HIWORD(wParam); // caret position
hwndListBox = (HWND) lParam; // handle to list box
The return value specifies the action that the application performed in response to the message. A return value of –1 or –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 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.
The DefWindowProc function returns –1.
Only owner-drawn list boxes that do not have the LBS_HASSTRINGS style can receive this message.
If a dialog box procedure handles this message, it should cast the desired return value to a BOOL and return the value directly. The DWL_MSGRESULT value set by the SetWindowLong function is ignored.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Requires version 2.0 or later.
Header: Declared in winuser.h.
List Boxes Overview, List Box Messages, DefWindowProc, WM_CHAR, WM_VKEYTOITEM