![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго времени суток!
Извините если такой вопрос был уже задан, тогда просьба указать ссылочку где это возможно прочитать. Вопрос такой - надо ограничить вводимые пользователем значения для combobox'а только теми, что имеются в нем. Т. е. пользователь не должен иметь возможность ввести собственное значение. при этом изменение style не годится. Значения в ComboBoox заносятся из файла txt. Спасибо за помощь |
#2
|
||||
|
||||
![]() Поставь значение свойства ReadOnly = True, тогда можно будет только выбрать...
//Чуть позже...Хм в Delphi 7 у комбобокса такого свойства нет...в Delphi 2010 есть... Если хочешь чтобы можно было вводить, но только в пределах списка, тогда нужно самому писать проверку на вводимые данные по событию KeyPress... Т.е. При введении нового символа проверяешь есть ли такой символ в данной позиции в твоем списке... В начале был Бит, потом Байт и только потом появилось Слово... Последний раз редактировалось NIch, 28.01.2010 в 11:07. |
#3
|
|||
|
|||
![]() Цитата:
в Делфи не сильна поэтому вот и обратилась за помощью Последний раз редактировалось Katunya, 28.01.2010 в 11:12. |
#4
|
||||
|
||||
![]() Цитата:
Чем же style не годится? |
#5
|
|||
|
|||
![]() потому как список у меня примерно следущий
А00 А00.1 А00.2 ... Z99.9 и таких строк примерно 18500 (всего) и если я выставляю значение csDropDownList то при вводе А - автоматически у меня выбирается А00 и с этим я больше ничего поделать не могу (реализован автоподбор еще в Combo), а мне к примеру не А00 надо а А00.1... ввод А00. почему то дальше тоже не прокатывает. а при значении csDropDown - все нормально, но это значение использовать не могу, потому как надо только из списка и другие символы нельзя вводить кроме как только значения из списка |
#6
|
||||
|
||||
![]() 18500 элементов для комбо?
![]() Т.е. вы хотите сказать, что выбор корневого элемента невозможен? Тогда зачем его вообще в список включать? Не включайте в список не содержащие дочерних элементы, да и все. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#7
|
|||
|
|||
![]() вообще-то, при style = csdropDownList можно выбрать любое значение из списка. Даже с клавиатуры. Только надо либо быстро набирать, либо действовать так:
1. Нажимаем "А" 2. стрелками "Вверх" и "Вниз" переходим на нужное значение. |
#8
|
|||
|
|||
![]() Данная задачка является исправлением/дополнением в действующую программу.. и весь этот список в 18500 строк - список всевозможных диагнозов..просто те, кто вбивает данные диагнозы, иногда по ошибке вводят то, чего нет...вследствии чего страдает и пациент и доктора и т.д и т.п.
поэтому что-либо выкидывать из него нельзя... вот такие вот дела... |
#9
|
|||
|
|||
![]() Цитата:
procedure TMyForm.ComboBox1KeyPress(Sender: TObject; var Key: Char); begin key:=#0; end; пользователь вообще не сможет вводить ничего с клавиатуры и выбирать придется только из списка |