Mensaje CB_SELECTSTRING
Definición
CB_SELECTSTRING wParam = (WPARAM) indexStart; // ítem a partir de que se hará la búsqueda lParam = (LPARAM) (LPCSTR) lpszSelect; // dirección de la cadena o prefijo de cadena
Una aplicación envía un mensaje CB_SELECTSTRING para buscar en la lista de un combo box un ítem que empiece con los mismos caracteres que la cadena especificada. Si se encuentra una cadena que coincida, será seleccionada y copiada al control de edición.
Descripción
indexStart: valor de wParam. Especifica el índice, comenzando en cero, del ítem anterior al ítem en el que se empieza a buscar. Cuando la búsqueda llega al final de la lista, continúa desde el principio hasta que llegue al ítem cuyo índice es el especificado por el parámetro indexStart. Si indexStart es -1, se busca en toda la lista desde el principio.
lpszSelect: valor de lParam. Apunta a una cadena terminada en cero que contiene el prefijo a buscar. La búsqueda es independiente del tipo, es decir que esta cadena puede contener cualquier combinación de letras mayúsculas o minúsculas.
Valor de retorno
Si la búsqueda tuvo éxito, el valor de retorno es el índice del ítem seleccionado. Si no lo tuvo, el valor de retorno es CB_ERR y la selección actual no cambia.
Observaciones
Un ítem está seleccionado sólo si sus caracteres iniciales coinciden con la cadena especificada en el parámetro lpszSelect.
Si se crea un combo box con el estilo owner-drawn pero sin el estilo CBS_HASSTRINGS, entonces el mensaje CB_SELECTSTRING el resultado del mensaje CB_SELECTSTRING depende de si se usó el estilo CBS_SORT o no. Si se usa, el sistema envía el mensaje WM_COMPAREITEM a la ventana padre del combo box para determinar qué ítem coincide con la cadena especificada. Si no se usó, CB_SELECTSTRING intentará comparar el valor DWORD en lugar del valor del parámetro lpszSelect.