Pregunta

Necesito un cuadro combinado en una aplicación MFC de Windows que tenga una función de búsqueda. Debería funcionar de modo que si comienza a escribir algo que coincida con uno o más elementos de la lista, el cuadro combinado debe desplegarse y mostrar esos elementos. Un poco como los populares cuadros de búsqueda basados ??en ajax en la web

¿Tú - ¿Conoces algún control que proporcione esta funcionalidad? - ¿Tengo un enlace a información sobre cómo crear tal funcionalidad yo mismo? - ¿tiene ideas sobre cómo hacer esto que podría compartir?

¿Fue útil?

Solución

Encontré esto:

http://www.codeguru.com/cpp/ controles / combobox / article.php / c1807 /

Cambió el nombre de la clase ya que CComboBoxEx ahora forma parte de MFC y agregó una llamada ShowDropDown () en OnEditUpdate ().

Otros consejos

Es una FAQ de Win32 api. Ver Adv. Win32 api ng news: //194.177.96.26/comp.os.ms-windows.programmer.win32 (no necesita nada CBN_EDITCHANGE. Es automático con api)

Acceso completo al cuadro de edición del cuadro combinado:

CEdit *pEdit = (CEdit *)pComboBox->GetWindow(GW_CHILD);
  

CEdit * pEdit = (CEdit *) pComboBox- > GetWindow (GW_CHILD);

¿Puedo obtener acceso a la parte ListBox de manera similar? Necesita borrar el contenido de la lista, p. usando ResetContent.

Proporcione un controlador para el evento CBN_EDITCHANGE , su controlador & # 246; ser llamado cada vez que el usuario cambia el texto en el campo de edición.

En este controlador, llame al método CComboBox :: FindString () para ver si el texto escrito existe en alguna de sus entradas de cuadro combinado. Si es así, llame a CComboBox :: SetCurSel () para seleccionarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top