Вопрос № 18071: Уважаемые эксперты! Прочитал, что в ComboBox юзер может добавлять строки в список (style="0)" во время выполнения проги, но что-то никак не получается, даже заменить существующие значения в списке. Цитирую "Поля со списком используются в том случ...
Вопрос № 18071
Уважаемые эксперты! Прочитал, что в ComboBox юзер может добавлять строки в список (style="0)" во время выполнения проги, но что-то никак не получается, даже заменить существующие значения в списке. Цитирую "Поля со списком используются в том случае, если нельзя заранее определить значения, которые следует включить в список, или список содержит слишком много элементов. В таком списке нужное значение можно не только выбирать, но и вводить непосредственно в поле ввода. Новое значение после ввода автоматически
помещается в список."?
Отправлен: 10.03.2005, 11:43
Вопрос задал: Александр А.А. (статус: Посетитель)
Всего ответов отправлено: 2
Отвечает: vitya
Здравствуйте, Александр А.А.!
На самом деле добавлять можно тока программно, но позволительно набирать собственный текст, который потом будет виден, как активный. Если же желаете добавить его в список, то это надо обработать сообщение (какое решать вам) и добавить строку в список с помощью AddString или соответствующего сообщения.
Ответ отправил: vitya (статус: Профессор)
Отправлен: 10.03.2005, 11:55 Оценка за ответ: 5
Отвечает: DiGiT
Здравствуйте, Александр А.А.!
Нет ничего проще. Посылаете комбобоксу(для этого нужно знать его HWND) сообщение CB_ADDSTRING
(заголовчный файл windows.h) с помощью функции SendMessage.
Также посмотрите справку по сообщению CB_INSERTSTRING.
Сам ComboBox состоит из двух контролов: edit and listbox. Если вам нужна функциональность вроде после ввода в edit слова и нажатия Enter, чтобы строка добавлялась в listbox, то будьте добры реализовать ее самостоятельно. А откуда винде знать что вы туда хотите "запихнуть".
Приложение:
Ответ отправил: DiGiT (статус: 6-ой класс)
Отправлен: 10.03.2005, 16:41 Оценка за ответ: 5