Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2011, 17:39   #1
Karych
Пользователь
 
Регистрация: 17.12.2011
Сообщений: 49
Вопрос Ввод в ComboBox

незнаю получиться ли грамотно отразить суть своего вопроса....
Всем привет!

В комбобокс загружен список.
так вот, при вводе буквы в комбобокс он автоматически подбирает первое подходящее значение из списка(и подставляет в синем цвете).
нужно сделать что при нажатии Интер применялось это значение в комбобоксе. и так же при вводе например двух букв и удалении одной из них он опять подставил первое ближайшее значение из списка!

как быть?
Karych вне форума Ответить с цитированием
Старый 24.12.2011, 18:16   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Свойство Autocomplete для автоподбора слова из списка в комбобоксе при печатании. Есть ещё Autocloseup и Autodropdown, изучайте справку для подробных инструкций
phomm вне форума Ответить с цитированием
Старый 25.12.2011, 14:16   #3
Karych
Пользователь
 
Регистрация: 17.12.2011
Сообщений: 49
Счастье

через эти свойства не получается сообщить комбобоксу о том что надо опять подставить ближайшее значение после удаления символа!
Karych вне форума Ответить с цитированием
Старый 25.12.2011, 15:37   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

при ручном/программном изменении ItemIndex свойства, OnChange у ComboBox не вызвается Если вы там что-то обрабатываете на основе ItemIndex.

И так задумано разработчиками. OnChange сами должны вызывать вы.Сталкивался я с этим сабжем.
Человек_Борща вне форума Ответить с цитированием
Старый 25.12.2011, 23:26   #5
Karych
Пользователь
 
Регистрация: 17.12.2011
Сообщений: 49
Злость тупик в ситуации

Код:
procedure TMainForm.ComboBox3KeyPress(Sender: TObject; var Key: Char);
var
xFind: Boolean;
ln,i,p:integer;
begin
if key=#08 then
begin
 for i:=0 to ComboBox3.Items.Count-1 do
    if Copy(AnsiUpperCase(ComboBox3.Items[i]), 1, Length(ComboBox3.Text))=AnsiUpperCase(ComboBox3.Text) then
    begin  ln:=length(ComboBox3.Text);
      ComboBox3.Text:=ComboBox3.Items[i];
      ComboBox3.SelStart:=ln;
      ComboBox3.SelLength:=Length(ComboBox3.Items[i])-ln;
      break;
    end;
end;end;
решил сделать так, но тоже не работает!
после удаления символа слово не подставляется, курсор мигает и больше нельзя удалять символы! хотя приложение не зависло, и строка адектватная, можно очистить лишь deletom, на backspace ноль внимания

В чем загвоздка? че я делаю не так?

Последний раз редактировалось Karych; 25.12.2011 в 23:28.
Karych вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Webbrowser и combobox: сделать чтобы в combobox-е оставалась история посещенных сайтов uasya2 Общие вопросы Delphi 6 06.03.2011 20:24
Запретить ввод более одной десятичной точки в форму ввода("некорректный ввод") adller_one PHP 1 13.01.2011 23:59
Разделение ComboBox на 3 ComboBox-a artemavd Общие вопросы Delphi 1 21.07.2010 08:02
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45