An application sends a CB_FINDSTRINGEXACT message to find the first list box string in a combo box that matches the string specified in the lpszFind parameter.
CB_FINDSTRINGEXACT wParam = (WPARAM) indexStart; // item before start of search lParam = (LPARAM)(LPCSTR)lpszFind; // address of string to search for
The return value is the zero-based index of the matching item. If the search is unsuccessful, it is CB_ERR.
If you create the combo box with an owner-drawn style but without the CBS_HASSTRINGS style, what the CB_FINDSTRINGEXACT message does depends on whether your application uses the CBS_SORT style. If you use the CBS_SORT style, WM_COMPAREITEM messages are sent to the owner of the combo box to determine which item matches the specified string. If you do not use the CBS_SORT style, the CB_FINDSTRINGEXACT message searches for a list item that matches the value of the lpszFind parameter.