Frage

Ich brauche eine Combobox in einer Windows-MFC-Anwendung, die eine Suchfunktion hat. Es sollte so funktionieren, dass, wenn Sie etwas eingeben beginnen, die ein oder mehr Objekte in der Liste übereinstimmt, sollte die Combobox-down fallen und diese Elemente anzuzeigen. Kinda wie beliebte Ajax-basierten Suchfelder im Web

Sie tun - Know jeder Kontrolle, die diese Funktionalität bereitstellt? - haben einen Link zu Informationen darüber, wie ich eine solche Funktionalität zu schaffen? - haben Ideen, wie dies zu tun, die Sie teilen können

War es hilfreich?

Lösung

Gefunden folgt aus:

http://www.codeguru.com/cpp/ Kontrollen / Combobox / article.php / c1807 /

Umbenannt die Klasse seit CComboBoxEx ist jetzt Teil von MFC, und fügte eine ShowDropDown () -Aufruf in OnEditUpdate ().

Andere Tipps

Es ist ein Win32-API-FAQ. Siehe Adv. Win32 api ng news: //194.177.96.26/comp.os.ms-windows.programmer.win32 (Sie brauchen nicht alle CBN_EDITCHANGE. Es ist automatisch mit api)

Voller Zugriff auf das Eingabefeld des Kombinationsfelds:

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

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

Kann ich Zugriff auf das ListBox Teil in ähnlicher Weise erhalten? Benötigen Sie den Inhalt der Liste zu löschen, beispielsweise mit Resetcontent.

einen Handler für das Ereignis CBN_EDITCHANGE Geben Sie Ihre Handler jedes Mal, wenn der Benutzer den Text in das Eingabefeld ändert aufgerufen werden Willo.

In diesem Handler, rufen Sie die CComboBox::FindString() Methode, um zu sehen, ob der eingegebene Text in einem Ihrer Combobox Einträge vorhanden. Ist dies der Fall, rufen Sie CComboBox::SetCurSel(), um es auszuwählen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top