Форум: "Основная";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
ВнизComboBox Найти похожие ветки
← →
Gek1 (2005-03-17 10:14) [0]Хочу сделать в comboBox список строк, а также чтобы можно было вводить свое значение. Также в обработчике OnChange слежу за изменением строки.
Написал простенький обработчик:
procedure TForm1.ComboBox1Change(Sender: TObject);
Var name : String;
begin
name := Form1.ComboBox1.Text;
Form1.ComboBox1.ItemIndex := Form1.ComboBox1.Items.IndexOf(name);
Form1.ComboBox1.Text := name;
end;
В итоге нашел очень неудачный момент:
Если выделить текст в нем и попытаться ввести другой текст, то после ввода первого символа - курсор ввода прыгает в начало. (перед первой буквой). Т.е набирая слово Тест - получим естТ.
Если выделить и нажать Del, то набираеться нормально.
Если я закоментирую:
Form1.ComboBox1.ItemIndex := Form1.ComboBox1.Items.IndexOf(name);
то все работает нормально. Но я хочу чтобы индекс менялся на нужную если слово есть и менялся на -1 если слова нету.
Мастера как избавиться от этой гадости?
← →
ЮЮ © (2005-03-17 10:21) [1]Убрать 3-ю строчку
← →
ЮЮ © (2005-03-17 10:23) [2]Поставь AutoSelect = true и все будет работать и без твоего кода
← →
ssk © (2005-03-17 10:29) [3]убери из кода вторую строку. ComboBox автоматически устанавливает ItemIndex при нахождении строки и ты его можешь узнавать в любой момент.
← →
Gek1 (2005-03-17 10:36) [4]
> AutoSelect
Нету такого поля у компонента.
> и все будет работать и без твоего кода
Нужен мне этот код. в этом событии я проверяю что ввел пользователь. Код я этот убрал, потому как он роли не играет на эту гадость.
> Убрать 3-ю строчку
Убрать Begin? :-)
← →
Gek1 (2005-03-17 10:38) [5]
> убери из кода вторую строку. ComboBox автоматически устанавливает
> ItemIndex при нахождении строки и ты его можешь узнавать
> в любой момент.
Да действительно. Спасибо.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c