Domanda

Ho bisogno di una casella combinata in un'applicazione Windows MFC con una funzione di ricerca. Dovrebbe funzionare in modo tale che se si inizia a digitare qualcosa che corrisponde a uno o più elementi nell'elenco, la casella combinata dovrebbe essere visualizzata e visualizzata. Mi piacciono le famose caselle di ricerca basate su Ajax sul Web

Sì - conosci qualche controllo che fornisce questa funzionalità? - avere un collegamento alle informazioni su come creare tale funzionalità da solo? - hai idee su come farlo che potresti condividere?

È stato utile?

Soluzione

Trovato questo:

http://www.codeguru.com/cpp/ controlli / combobox / Article.php / c1807 /

Rinominata classe poiché CComboBoxEx è ora parte di MFC e ha aggiunto una chiamata ShowDropDown () in OnEditUpdate ().

Altri suggerimenti

È una FAQ API di Win32. Vedi Adv. Novità di Win32: //194.177.96.26/comp.os.ms-windows.programmer.win32 (non è necessario affatto CBN_EDITCHANGE. È automatico con api)

Accesso completo alla casella di modifica della casella combinata:

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

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

Posso accedere alla parte ListBox in modo simile? È necessario cancellare il contenuto dell'elenco, ad es. utilizzando ResetContent.

Fornisci un gestore per l'evento CBN_EDITCHANGE , il tuo gestore sarà & # 246; essere chiamato ogni volta che l'utente cambia il testo nel campo di modifica.

In questo gestore, chiama il metodo CComboBox :: FindString () per vedere se il testo digitato esiste in una delle voci della casella combinata. In tal caso, chiama CComboBox :: SetCurSel () per selezionarlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top