Вопрос

Мне нужен комбинированный список в приложении Windows MFC, в котором есть функция поиска. Это должно работать так, что если вы начнете набирать что-то, что соответствует одному или нескольким элементам в списке, выпадающий список должен раскрыться и отобразить эти элементы. Вроде как популярные поисковые поля на основе ajax в Интернете

Вы - знаете какой-либо элемент управления, который обеспечивает эту функциональность? - есть ссылка на информацию о том, как создать такой функционал самостоятельно? - есть идеи о том, как сделать это, что вы могли бы поделиться?

Это было полезно?

Решение

Нашел это:

http://www.codeguru.com/cpp/ контроль / выпадающий / article.php / c1807 /

Переименовал класс, поскольку CComboBoxEx теперь является частью MFC и добавил вызов ShowDropDown () в OnEditUpdate ().

Другие советы

Часто задаваемые вопросы по API для Win32. Смотрите Adv. Win32 api ng news: //194.177.96.26/comp.os.ms-windows.programmer.win32 (вам вообще не нужен CBN_EDITCHANGE. Это автоматически с API)

Полный доступ к полю редактирования поля со списком:

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

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

Могу ли я получить доступ к части ListBox аналогичным образом? Необходимо очистить содержимое списка, например, используя ResetContent.

Укажите обработчик для события CBN_EDITCHANGE, ваш обработчик будет & # 246; вызываться каждый раз, когда пользователь изменяет текст в поле редактирования.

В этом обработчике вызовите метод CComboBox::FindString(), чтобы узнать, существует ли введенный текст в какой-либо записи комбинированного списка. Если это так, позвоните CComboBox::SetCurSel(), чтобы выбрать его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top