LB_SELECTSTRING

2.x

LB_SELECTSTRING
wParam = (WPARAM) indexStart;        /* item before start of search */
lParam = (LPARAM) (LPCSTR) lpszFind; /* address of search string    */

An application sends an LB_SELECTSTRING message to search the list box for an item that matches the specified string, and if a matching item is found, to select the item.

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 index of the selected item if the search was successful. The return value is LB_ERR if the search was unsuccessful and the current selection is not changed.

Comments

The list box is scrolled, if necessary, to bring the selected item into view.

An item is selected only if its initial characters (from the starting point) match the characters in the string specified by the lpszFind parameter.

If the list box was created with an owner-drawn style but without the LBS_HAS-STRINGS style, the action taken by LB_SELECTSTRING depends on whether the LBS_SORT style is used. If LBS_SORT is used, WM_COMPAREITEM
messages are sent to the owner of the list box to determine which item matches
the specified string. Otherwise, LB_SELECTSTRING attempts to match the doubleword value against the value of lpszFind.

Example

This example searches the entire list box for an item that matches the string “my string” and, if the item is found, selects it:

DWORD dwIndexFoundString;

dwIndexFoundString = SendDlgItemMessage(hdlg, ID_MYLISTBOX,
    LB_SELECTSTRING, -1, (LPARAM) ((LPCSTR) "my string"));

See Also

LB_ADDSTRING, LB_FINDSTRING, LB_INSERTSTRING