CB_SELECTSTRING
An
application sends a CB_SELECTSTRING message to search the list of a combo box
for an item that begins with the characters in a specified string. If a
matching item is found, it is selected and copied to the edit control.
CB_SELECTSTRING
wParam = (WPARAM) indexStart; // item before first selection
lParam = (LPARAM) (LPCSTR) lpszSelect; // address of
prefix string
Parameters
indexStart
Value of wParam.
Specifies the zero-based index of the item preceding the first item to be
searched. When the search reaches the bottom of the list, it continues from the
top of the list back to the item specified by the indexStart parameter.
If indexStart is -1, the
entire list is searched from the beginning.
lpszSelect
Value of lParam.
Points to the null-terminated string that contains the prefix to search for. The
search is not case sensitive, so this string can contain any combination of
uppercase and lowercase letters.
Return Values
If the string
is found, the return value is the index of the selected item. If the search is
unsuccessful, the return value is CB_ERR and the current selection is not
changed.
Remarks
A string is
selected only if the characters from the starting point match the characters in
the prefix string.
If you create
the combo box with an owner-drawn style but without the CBS_HASSTRINGS style,
what the CB_SELECTSTRING message does depends on whether you use the CBS_SORT
style. If the CBS_SORT style is used, the system sends WM_COMPAREITEM messages
to the owner of the combo box to determine which item matches the specified
string. If you do not use the CBS_SORT style, CB_SELECTSTRING attempts to match
the DWORD value against the value of the lpszSelect parameter.
See Also