Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Автозаполнение поля Edit в ComboBox


Автор: avg 30.12.2007, 12:49
Никто не знает как сделать так чтобы когда в  ComboBox'е пользователь
вводит текст автоматически выбирался элемент списка с которым совпадает текст, введённый
юзером ?  Перепробовал все стили - не получается.

Автор: Earnest 4.1.2008, 18:04
Уточни: Автоматически выбирался - т.е. при частичном совпадении с началом существующей строки заменлось то, что ввел пользователь? Типа автодополнения?
С помощью стилей не получится. Но сделать ИМХО не сложно: лови CBN_CHANGED, делай GetWindowText, затем ищи FindString, затем SetCurSel, если нашлась. Чтобы совсем все было красиво (т.е. пользователь мог продолжать ввод, изменяя строку), нужно еше поставить выделение на оставшуюся часть строки - тогда следующий введенный символ сотрет вторую часть строки, и все повторяем сначала.

Автор: avg 6.1.2008, 17:13
Цитата(Earnest @  4.1.2008,  18:04 Найти цитируемый пост)
Уточни: Автоматически выбирался - т.е. при частичном совпадении с началом существующей строки заменлось то, что ввел пользователь? Типа автодополнения?

Да. smile   Имеется ввиду именно "автодополнение".
Спасибо.   smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)