Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
1-1110624874
Checist [root]
2005-03-12 13:54
2005.03.27
ShowWindow глючит?


3-1109317888
Bless
2005-02-25 10:51
2005.03.27
Как узнать номер версии ADO?


14-1109786649
_silver
2005-03-02 21:04
2005.03.27
Белгородская сходка.


10-1087493123
Igoryok
2004-06-17 21:25
2005.03.27
Как узнать функции OLE сервера


1-1110725366
mr-kack
2005-03-13 17:49
2005.03.27
прорисовка объекта по координатам...