CB_FINDSTRING

CB_FINDSTRING

wParam = (WPARAM) indexStart; /* item before start of search */

lParam = (LPARAM)(LPCSTR)lpszFind; /* address of prefix string */

An application sends a CB_FINDSTRING message to search the list box of a combo box for an item that begins with the characters in a specified string.

Parameters

indexStart

Value of wParam. Specifies the zero-based index of the item before the first item to be searched. When the search reaches the bottom of the list box, it continues from the top of the list box back to the item specified by the indexStart parameter. If indexStart is -1, the entire list box is searched from the beginning.

lpszFind

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 Value

The return value is the zero-based index of the matching item, or it is CB_ERR if the search was unsuccessful.

Comments

If the combo box was created with an owner-drawn style but without the CBS_HASSTRINGS style, the action taken by the CB_FINDSTRING message depends on whether the CBS_SORT style is used. If the CBS_SORT style is used, WM_COMPAREITEM messages are sent to the owner of the combo box to determine which item matches the specified string. Otherwise, CB_FINDSTRING attempts to match the doubleword value against the value of the lpszFind parameter.

The CB_FINDSTRING message may be used as either a wide-character message (where text arguments must use Unicode) or an ANSI message (where text arguments must use characters from the Windows 3.x character set installed).

See Also

CB_FINDSTRINGEXACT, CB_SELECTSTRING, CB_SETCURSEL, WM_COMPAREITEM