Salta al elemento del cuadro de lista escribiendo los primeros caracteres

Tengo una lista de elementos (potencialmente grandes) de los cuales el usuario debe seleccionar uno. Me gustaría permitir que el usuario escribaprimeras letras del elemento deseado para saltar al lugar correcto en la lista. De forma predeterminada, cada pulsación de tecla salta al primer elemento que comienza con esa letra, por lo que no puede escribir el primervarios letras. ¿Hay alguna forma sencilla de hacer esto? Cualquier CodeProject u otro ejemplo similar?

Busqué horas y encontré cualquier número de muestras para IAutocomplete, pero eso no ayudará aquí porque necesito garantizar que el resultado esté en la lista.

La única forma en que puedo pensar para hacer esto es derivar de CListBox, capturar las pulsaciones de teclado, encontrar el elemento, ejecutar un temporizador para que las nuevas pulsaciones después de una pausa suficiente inicien una nueva búsqueda ... ya que no soy un MFC Jock, esto es desalentador. Cualquier consejo muy apreciado.

Una nota aclaratoria: mi objetivo final es obtener este comportamiento del teclado para un estilo ComboBox de DropDownList (es decir, sin cuadro de edición). La falta de un cuadro de edición descarta la mayoría del código de autocompletado, y la necesidad de la funcionalidad ComboBox significa que no puedo usar CListCtrl por sí mismo.

Respuestas a la pregunta(3)

Su respuesta a la pregunta